我认为 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 来重现问题,代码按预期工作,所以没有问题。最有可能的是某些东西发生了冲突。
我正在寻找调试技巧。谢谢!
编辑:拼写错误。问题已解决。
最佳答案
id="#js-single-item"
id
属性不应包含 #
符号。当您在 jQuery 中选择 $('#some-id')
时,它实际上是在调用 document.getElementById('some-id')
。
你可以这样做:
$('#\\#js-single-item')
另外,不要。
关于javascript - jQuery 无法通过 ID 找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17058048/