HTMLにアクセスできないページのdivにHTMLを挿入しようとしていますが、関数を正しく取得できないようです。
HTML構造は次のようになります。
<body class="ly_productdetails ProductDetails en en_GB">
<div id="page">
<div class="container">
<div id="main" class="container">
<div id="info">
<h2 itemprop="name">Product Name</h2>
<p><span itemprop="price">£55.00</span></p>
</div>
</div>
</div>
</div>
</body>
JSは次のようになります。
$(document).ready(function() {
var $body = $(document.body);
if (body.attr('class').match(/body.ly_productdetails.ProductDetails.en.en_GB/).length > 0) {
$('#main .container').prepend("<div id="recommendations"><ul<li>Cross sell 1</li><li>Cross sell 2</li><li>Cross sell 3</li></ul></div>");
}
});
私はJSに関しては環境に配慮しているので、上記に自信はありませんが、自分が間違っていることを理解できません。
誰かが見て、私が間違っていることを教えてもらえますか?
前もって感謝します、
アダム
三つのこと。
1)body
定義されていません。あなたが定義した$body
2)あなたの正規表現は正しく評価されません。
"ly_productdetails ProductDetails en en_GB".match(/body.ly_productdetails.ProductDetails.en.en_GB/);
を返しますnull
。
ボディにこれらすべてのクラスがあることを確認したい場合は、代わりに次のようにします。
$body.is(".ly_productdetails.ProductDetails.en.en_GB")
これは、特定の順序でこれらのクラスに一致します。
3)二重引用符の文字列内で二重引用符を使用しました。インスタンスを置き換え"
て'
HTML文字列の内部。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加