我遇到一行javascript / jquery问题。我试图选择具有给定类的所有对象,然后使用存储在第一个对象类中的id在另一个对象上创建一个触发器。
JS / JQ:$('.navs').click(function(){$("#"+$(this).attr('tab')+"").trigger('click');})
HTML:
<img alt="" class="thumbnail" src="gamedev_thumb.png" class="navs" tab="gamedev"/>
我不确定这是否重要,但此代码位于主页上加载到div中的页面片段中。我在顶部有选项卡来控制导航,为简单起见,我希望图像触发顶部相应选项卡上的点击。
答案 0 :(得分: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块。