1

で選択img.sub rel='0'てクリックをトリガーしようとしましたが、のように見えますが$('.sub[rel=0] img').trigger('click')、機能しません。
このセレクタ コードの問題点$('.sub[rel=0] img')

ありがとう!

<div class="sub" rel="0">
    <img>
</div>
<div class="sub" rel="1">
    <img>
</div>

アップデート

function geturlvars(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++){
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
return vars;
};

realid = geturlvars()["id"]
function checkstate(){
    if(realid){
        $('.sub[rel=realid] img').trigger('click');
    }
    $('.sub[rel=realid] img').click(function(){
        console.log('hi');
    });
};
checkstate();
4

3 に答える 3

2

これはあなたが探しているものです:

$(".sub[rel=0]").click(function(){ alert("Click Triggered!");  })

     function geturlvars(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++){
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    } return vars; };

realid = geturlvars()["id"] function checkstate(){

    realid = "0";  // delete this
    if(realid){
        $('.sub[rel='+realid+'] img').trigger("click");
    }
         }; 
checkstate(); ​

クリック関数がグローバル関数であることを確認し、テキストから変数を分類します

$('.sub[rel=realid] img')        // Wrong
$('.sub[rel='+realid+'] img')    // Correct

フィドル: http://jsfiddle.net/javascript/T7uss/

于 2012-12-26T22:53:00.210 に答える
2

その状況で何も問題はないようです...

html:

<div class="sub" rel="0">
 <img>
</div>
<div class="sub" rel="1">
 <img>
</div>​

js:

console.log($('.sub[rel=0] img')[0]);​

コンソール:

<img>

jsfiddle: http://jsfiddle.net/PHrRY/

さらに

トリガーされたクリック イベントがある例を次に示します。その画像でクリック イベントをトリガーするには、イベントが関連付けられている必要があります。イベントがなければ何も起こらない可能性が高く、それがトリガーが実際にイベントを発生させない理由です。このコードは、 を使用してイベントを発生させtriggerます。

jsfiddle: http://jsfiddle.net/PHrRY/1/

編集

以下は、0for rel が変数に格納されている例です。

まとめ: var relNumber = "0 0"; console.log($('.sub[rel="'+relNumber+'"] img')[0]);

http://jsfiddle.net/PHrRY/3/

"の中にスペースがある場合は、追加の引用符が使用されrelNumberます。

更新に応じて

このコードは

if(realid){
    $('.sub[rel="'+realid+'"] img').trigger('click');
}
$('.sub[rel="'+realid+'"] img').click(function(){
    console.log('hi');
});
于 2012-12-26T22:27:16.597 に答える
0

それらが必要かどうかはよくわかりませんが"、属性から値を選択したい場合は常に使用しています:

$('.sub[rel="0"] img');
           -^-^-

多分これはトリックを行います。

于 2012-12-26T22:27:58.620 に答える