javascript - jqeury用字符串拼接的ID选择器为什么不能使用?
本文介绍了javascript - jqeury用字符串拼接的ID选择器为什么不能使用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
for(var i = 0; i < checkeds.length; i++){
var check = 'user'+checkeds[i]+'--mycheckbox';
$("#"+check).parent('td').siblings('.text-status').removeClass('text-green');
console.log($("#"+check).parent('td'));
}
这段代码中 checkeds 是一个id的数组,第三行是查找这个id元素的父级的同级元素中带有.text-status样式的元素并去掉text-green这个样式。
可是无法生效,下面是控制台报出的查找的父级元素td的内容;
[prevObject: n.fn.init, context: document]
context
:
document
length
:
0
prevObject
:
n.fn.init
__proto__
:
Object(0)
这个是HTML的层级关系
<tr>
<td>
<input id="user1-mycheckbox" name="user-contorl" data-color="yellow" type="checkbox" class="checkbix" data-text="">
</td>
<td>0001</td>
<td><img src="images/user.png" alt=""></td>
<td>耿直BOY</td>
<td>男</td>
<td>1990-02-01</td>
<td class="table-text">曾经获得迪尼斯全球最能吃奖曾经获得迪尼斯全球最能吃奖</td>
<td>北京</td>
<td>2399</td>
<td>123</td>
<td>github</td>
<td>******</td>
<td>18511009922</td>
<td>1991-02-01</td>
<td class="text-blue">23</td>
<td class="text-blue">23</td>
<td class="text-blue">23</td>
<td class="text-green">正常</td>
<td><a href="" class="user-edit"><i class="fa fa-edit"></i></a></td>
</tr>
解决方案
单开一个最简单的demo试一下就知道了、是可以拼接的、
只能说你的页面上代码哪里出了问题
看html中id为user1-mycheckbox
看你的拼接却是'user'+checkeds[i]+'--mycheckbox';
一个是短横线、一个是双短横线、还是代码贴错了?
这篇关于javascript - jqeury用字符串拼接的ID选择器为什么不能使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文