我有这段代码:
cout << qPrintable(QDate::currentDate().toString()) << endl;
现在我想传递i变量而不是1.
var i = 1;
if ($(this).attr('data-target="1"')){}
我是对的吗?
实际上我想做什么。我想点击if ($(this).attr('data-target="'+i+'"')){}
li
进入for循环点击h2
。一个代码是否有针对目标多个元素的任何其他解决方案?
找到 fiddle
答案 0 :(得分:2)
您没有类<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="output"></div>
,
试试这个,
ul
此外,您不需要在for循环中绑定事件。
答案 1 :(得分:1)
试试这个:
// if you're using dynamic content for h2, then use .on instead for event delegation issues
$(document).on('click', '.UDSHead', function () {
// remove class from li element
$('li').removeClass('highLight');
// get current element data-target value
var target = $(this).data('target');
// minus 1 as eq is zero based
$('ul li:eq(' + (target-1) + ')').addClass('highLight');
});
<强> DEMO 强>
答案 2 :(得分:1)
您可以为所有h2元素设置单击事件,然后根据点击的h2索引定位相应的lis:
.strowb1 a:hover {
text-decoration: none;
}
<强> Working Demo 强>
答案 3 :(得分:1)
根据文档http://api.jquery.com/attr/,如果要比较属性值,则必须这样做:
if($(this).attr( attributeName ) == value)
申请代码:
if( $(this).attr('data-target') == i ) {
// more code
}
使用数据功能:
if( $(this).data('target') == i ) {
// more code
}