2012-02-03 100 views
2

我遇到了单行javascript/jquery的问题。我试图选择具有给定类的所有对象,然后使用存储在第一个对象类中的ID在另一个对象上创建触发器。Javascript/JQuery类选择器问题

的JS/JQ:
$('.navs').click(function(){$("#"+$(this).attr('tab')+"").trigger('click');})

的HTML:
<img alt="" class="thumbnail" src="gamedev_thumb.png" class="navs" tab="gamedev"/>

我不知道这事,但是这个代码是被加载到上一个div页面片段主页面。我有顶部的标签来控制导航,为了简单起见,我希望图像触发顶部相应标签上的点击。

回答

5

您有两次class属性。你绝对可以把几个类名相同的类属性中:

<img alt="" class="thumbnail navs" src="gamedev_thumb.png" tab="gamedev"/> 

如果片段被加载AJAX页面加载后,不幸的是,你的选择$('.navs')已经运行,你的形象会不会成为它的一部分,您必须在片段加载并附加到文档后执行您的JavaScript片段。

我不知道你是怎么加载片段,但一个方法是,如果你用它来使用.load()方法的回调:

$('#mydiv').load(url, function() { 
    $('.navs').click(function(){ 
     $("#"+ $(this).attr('tab') + "").trigger('click'); 
    }) 
}); 

请注意,如果您加载与片段加载方法(例如“mypage.html #mydiv”),所有JavaScript块将被删除。

jQuery .load()

+0

我把JS放在页面片段中,以便它在页面加载时运行。修正类标签修复它。非常感谢! – 2012-02-03 20:57:02

+1

如果他给你的答案解决了你的问题,你应该把它标记为这样。 – 2012-02-03 21:09:34

+0

我不得不等待它让我:)我刚刚回来这样做。 – 2012-02-03 21:50:20