2

Google Chrome コンソール ログが私の問題を最もよく説明していると思います。

>> $(".single.portfolio")
[<article id=​"#js-single-item" class=​"post-883 portfolio type-portfolio status-publish hentry single">​…​&lt;/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">​…​&lt;/article>​

奇妙なことに、getElementById は機能しますが、jQuery は機能しません。

HTML全体をコピーしてフィドルで問題を再現しようとしましたが、コードは想定どおりに機能するため、問題はありません。ほとんどの場合、何かが衝突しています。

デバッグのヒントを探しています。ありがとう!

編集:タイプミス。問題が解決しました。

4

2 に答える 2

10
id=​"#js-single-item"

id属性に#記号を含めないでください。$('#some-id')jQuery で選択すると、実際にはdocument.getElementById('some-id').

あなたはこれを行うことができます:

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

また、しないでください。

于 2013-06-12T05:12:16.597 に答える
1

#IDの先頭にあります。は jQuery の 'id' のセレクターなので、 ない#要素と見なしますid = js-single-item#js-single-item

于 2013-06-12T05:18:18.703 に答える