我在网页上有几个标签,可以点击,并且所有标签共享“btn”类。在控制台中,如果我使用选择器$('.btn');
,则会出现以下元素:
<label id="skillstable_Certification" class="row btn">Certification</label>,
<label id="skillstable_Compliance" class="row btn">Compliance</label>,
<label id="skillstable_Technology" class="row btn">Technology</label>,
<label id="skillstable_version(s)" class="column btn">Version(s)</label>,
<label id="skillstable_startdate" class="column btn">StartDate</label>,
<label id="skillstable_enddate" class="column btn">EndDate</label>,
<label id="skillstable_elapsedtime" class="column btn">ElapsedTime</label>,
<label id="skillstable_expertiserating" class="column btn">ExpertiseRating</label>,
匹配HTML:
</fieldset>
<label id="fs_skillstable_heading" class="fs btn heading skillstable">Skills Table</label><br class="">
<label id="skillstable_Certification" class="row btn">Certification</label>
<label id="skillstable_Compliance" class="row btn">Compliance</label>
<label id="skillstable_Technology" class="row btn">Technology</label><br class="">
<label id="skillstable_version(s)" class="column btn">Version(s)</label><br class="">
<label id="skillstable_startdate" class="column btn">StartDate</label><br class="">
<label id="skillstable_enddate" class="column btn">EndDate</label><br class="">
<label id="skillstable_elapsedtime" class="column btn">ElapsedTime</label><br class="">
<label id="skillstable_expertiserating" class="column btn">ExpertiseRating</label><br class="">
</fieldset>
但是,这些元素只是没有注册$('.btn').on('click', function() {...})
函数,该函数有一个console.log()部分,表明它已被点击。他们都有.btn
级,所以我完全迷失在这里。我正在尝试创建一个用于持久化的数组,并使用.push()创建一个快速变量来显示我点击的所有元素,这样我就可以使用该字符串来创建持久性URL,但是注意到这些部分只是没有注册。
元素的生成范围在自调用函数(function TCC() {...})();
中,因此我尝试将它们从该函数中拉出并单独调用它们,但这也不起作用。我还将函数从.click()切换到.on('click',function(){})无效。
Here是网页。
答案 0 :(得分:2)
试试这个; on()用法:
编辑:@David Thomas提到this.id;
将优于$(this).attr('id');
:
$(document).on('click','.btn',function() {
var whichPart = this.id;
console.log(whichPart);
});
答案 1 :(得分:1)
出现此问题是因为您在“列按钮生成器”循环之前绑定了click事件。最简单的修复方法是使用“实时”事件
$('.btn').live('click',function(){...})
或者,为循环创建一个回调并绑定click事件。
答案 2 :(得分:0)
您可以在以下链接上测试示例代码:
答案 3 :(得分:0)
你的页面在Chrome中工作,我点击了左侧部分的专业知识/技能/工具等,它显示了我点击右侧橙色部分的链接,如果这是你想要的。
如果已经打开了控制台/开发人员工具,它可以在IE中运行,这可能是因为你在代码中使用了console.log语句
参考此