-5

Web サイトの動的コンテンツの動作に jQuery を使用しています。エラーが発生しました:

TypeError: $("#id").attr("src", thisContent.attr("data-attr")).show は関数ではありません

最初はブラウザ関連かと思いましたが、そうではありませんでした。エラーは次の行にあります。

$('#id').attr('src', thisContent.attr('data-attr')).show();
4

3 に答える 3

3

の2番目の引数がで.attr()ある場合undefined、ゲッターが呼び出されます。セッターの代わりにゲッターが呼び出されたようです。

ゲッター:

$(...).attr(String) // returns String which has no method .show()

セッター:

$(...).attr(String, String) // returns jQuery object, which has method .show()

thisContent.attr('data-attr')undefined場合によっては戻る可能性があるため、目的のsetterメソッドの代わりにgetterが呼び出されます。

于 2012-10-12T11:06:37.993 に答える
0

ランダムな質問ですが、確かに...

CDNを介してjQueryにアクセスしていますか?

もしそうなら、両方のマシンがjQueryコードを正常にロードしますか?どちらも問題なくCDNを見ることができます(どちらもインターネットに接続されています)?およびjQueryコードの他のビットは機能していますか?

ブラウザーは非常に確立された言語であるため、JSのレンダリング/処理方法に違いがあることは非常にまれです。ですから、私の提案は、ブラウザベースの問題ではなく、コードの外にあるものです。

ただのアイデア..

于 2012-10-12T11:06:26.920 に答える
0

以下を試してください。

data-attr の名前を別の名前に変更します。

thisContect.attr 内に data-attr が存在するかどうかを確認します。

次の行をログに記録し、コンソールに移動します。そこに data-attr が存在しないか、間違った場所にあることがわかります。

console.log(thisContent);

于 2012-10-12T10:59:40.993 に答える