想在一群li中选择一个index属性是我传入参数index1的li
图一 index1=10
图2 有两个li 但是选择器没选中
图3 第二个li里面的index明明为10
为什么不能选中呢
组合变量值,你那样是直接查询index属性执行为index1内容了,不是index1存储的值
$('li[index="'+index1+'"]')
请参考jQuery手册,里面对这类选择器这样描述的:
[attribute=value] $("[href='#']") 所有 href 属性的值等于 "#" 的元素
也就是说,value要是字符串。javascript在字符串中引变量的方式:
$('li [index=${index}]')
如果我没记错的话 应该是这么写的吧。。。
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
$("li").each(function(index){
$(this).on("click",function(){
alert(index)
})
})
$("li").eq(index10).addClass("alert");
更正,javascript字串中变量替换的实现:
$(`li[index=${index1}]`)
更正,关于li选择器
$(`li:eq(${index1})`)