jQuery找不到ID

时间:2013-06-12 05:11:19

标签: javascript jquery getelementbyid

我认为Google Chrome控制台日志最能解释我的问题:

>> $(".single.portfolio")
[<article id=​"#js-single-item" class=​"post-883 portfolio type-portfolio status-publish hentry single">​…​</article>​]

>> the_element_id = $(".single.portfolio").attr("id")
"#js-single-item"

>> $(the_element_id)
[]

>> $("#js-single-item");
[]

>> document.getElementById("#js-single-item");
<article id=​"#js-single-item" class=​"post-883 portfolio type-portfolio status-publish hentry single">​…​</article>​

奇怪的是getElementById可以工作,但jQuery没有。

我试图通过复制整个HTML并且代码按照预期的方式工作来重现问题,所以没有麻烦。最有可能的是一起冲突。

我正在寻找调试技巧。谢谢!

修改:错字。解决了问题。

2 个答案:

答案 0 :(得分:10)

id=​"#js-single-item"

id属性不应包含#符号。当你在jQuery中选择$('#some-id')时,它实际上是在调用document.getElementById('some-id')

你可以这样做:

$('#\\#js-single-item')

另外,不要。

答案 1 :(得分:1)

您在ID的开头有#。由于#是jQuery中'id'的选择器,因此它会将其视为id = js-single-item而不是#js-single-item的元素