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

这种情况似乎没有什么问题......

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 回答
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(); ​

确保 click 函数是全局函数,并从文本中对变量进行分类

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

小提琴:http: //jsfiddle.net/javascript/T7uss/

于 2012-12-26T22:53:00.210 回答
0

我真的不知道它们是否有必要,但是"当我想从属性中选择一个值时,我总是使用它们:

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

也许这可以解决问题。

于 2012-12-26T22:27:58.620 回答