在HTML中我有:
<div class="jqtree-element" node-id="5">`
在JS中我有:
for(var i=1;;i++){
var object = $('div.jqtree-element[node-id="i"]');
if(object.length === 0){
var id = i;
break;
}
}
(我正在寻找免费的身份证)
我不知道,为什么它只返回object = [prevObject: r.fn.init(1)]
有什么想法吗?
答案 0 :(得分:1)
i
不是5
。使用字符串连接传递正确的属性值以匹配。另外,如果您不希望for
循环继续递增i
,请将else
语句包含在break
循环中。
var id;
for (var i = 1; true; i++) {
var object = $('div.jqtree-element[node-id="' + i + '"]');
if (object.length === 0) {
id = i;
break;
} else {
// break loop here
}
}
console.log(id)
答案 1 :(得分:0)
这里你没有什么问题。
1)您的 i 不是动态的。使用字符串连接,你会没事的。
2)你的病情错了。您应该使用1
检查长度,这意味着找到了元素。您正在检查零,i=0
本身也是如此。
for(var i=1;;i++){
object = $('div.jqtree-element[node-id="'+i+'"]');
if(object.length === 1){
var id = i;
break;
}
}
console.log(object)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="jqtree-element" node-id="5">