如何选择div包含父div attr?

时间:2012-12-26 22:20:52

标签: jquery

我尝试在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();

3 个答案:

答案 0 :(得分: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/

修改

以下是rel的0存储在变量中的示例:

摘要: 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');
});

答案 1 :(得分: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/

答案 2 :(得分:0)

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

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

也许这就行了。