$(“#”+ id)。length返回0但元素存在(已解决,原因:id不能包含元字符)

时间:2016-03-07 11:13:52

标签: jquery html

document.getElementById(id)$("#"+id).length之间的区别是什么?

我的div宽度为id,其中document.getElementById(id)返回true而$("#" + id).length返回0。这是为什么?

$(document).ready(function() {
    if (document.getElementById(go_to_comment)){
        alert("the element exists");
    }

    var aaa = $('#' + go_to_comment);
    if (aaa.length == 0) {
        alert("the element does not exist");
    }
});

为什么两个alert语句都被执行了?如果document.getElementById(go_to_comment)为真,则aaa.length不应为0!

1 个答案:

答案 0 :(得分:0)

请找到下面的jsfiddle链接以获取答案。 jsfiddle

$(document).ready(function() {
var go_to_comment="comment";
console.log(document.getElementById(go_to_comment))
if (document.getElementById(go_to_comment)){
    alert("the element exists");
}

var aaa = $('#' + go_to_comment + "");
if (aaa.length == 0) {
    alert("the element does not exist");
}
});