9

これは私が見落としているものに違いありませんが、次のページと JavaScript を見てください。聖なるすべてのものに対して、jQuery が true を返さない理由を教えてください。

HTML: http://alcatel.scottbuckingham.com/reporting/test.html

<p class="test">hello1</p>

JS: http://alcatel.scottbuckingham.com/reporting/_scripts/collapse.js

;(function($, window, document, undefined) {

        var t = $('.test');
        var s = $('.test');

        console.log(t);
        console.log(s);

        if (t === s) {
            console.log('yes');
        }

})(jQuery, window, document);

私は文字通り何時間もかけてそれを解決しようとしましたが、それをこれに減らしましたが、ほとんど1 === 1機能しません。

どんな助けでも大歓迎です!

4

5 に答える 5

8

これを試してください - ワーキングデモ --> http://jsfiddle.net/mohammadAdil/tHjgN/

 if(t.is(s)) {
    console.log('yes');
 }

http://api.jquery.com/is/

または===

if (t.get(0) === s.get(0)) { //<--Compare DOM elements instead of jquery object's
    console.log('again yes');
}

デモ --> http://jsfiddle.net/mohammadAdil/tHjgN/1/

于 2013-05-03T12:20:57.017 に答える
2

jQuery isメソッドを使用できます。

説明: 現在一致している要素のセットをセレクター、要素、または jQuery オブジェクトに対してチェックし、これらの要素の少なくとも 1 つが指定された引数と一致する場合は true を返します。

if (t.is(s)) {
    console.log('yes');
}

フィドルの例: http://jsfiddle.net/IrvinDominin/q86Sh/

于 2013-05-03T12:26:12.300 に答える
1

これは、HTML ノードの比較で行うことができます。HTML オブジェクトを比較する場合は、これが正しい方法です。

if (t[0] === s[0]) {
    console.log('yes');
}
于 2013-05-03T12:23:27.983 に答える
1

これはあなたを助けることができます:

var test = document.getElementById('test') //returns a HTML DOM Object
var test = $('#test') //returns a jQuery Object
var test = $('#test')[0] //returns a HTML DOM Object

だから(脚光を浴びて言ったように)これを使う:

if (t[0] === s[0]) {
    console.log('yes');
}

また、使用することをお勧めします

$(document).ready(function(){


});

あなたのコードの周り。

于 2013-05-03T12:31:50.933 に答える
1

スクリプトは にありました<head>が、要素<p class="test">hello1</p>は にありました<body>

最初に$(document).ready()、コンテンツがロードされていることを確認するために使用する必要があります。次に、 を使用してそれらが等しいかどうかを確認し.is()ます。

$(document).ready(function() {

        var t = $('.test');
        var s = $('.test');

        console.log(t);
        console.log(s);

        if (t.is(s)) {
            console.log('yes');
        }
});

関数がある場合とない場合の例比較してください。.ready()

于 2013-05-03T12:28:20.570 に答える