如何比较2个DOM元素?

时间:2015-08-28 09:58:38

标签: javascript jquery

如果元素为b,我想提醒$("[id$=linkbuttonabsd]"),否则提醒a

JavaScript代码:

$("body").find("a").click(function (e) {
    var herf = $("body").find("a");
    var link = $("[id$=linkbuttonabsd]");
    var isb = false;
    for (var i = 0; i < herf.length; i++) {
        if (herf[i] == link) {
            isb = true;
        }
    }
    if (isb) {
        alert("b");
    } else {
        alert("a");
    }
});

但我无法通过herf[i] == link实现这一目标。应该怎么做?

2 个答案:

答案 0 :(得分:3)

$.fn.is()可以使用。

  

根据选择器,元素或jQuery对象检查当前匹配的元素集,如果这些元素中至少有一个与给定的参数匹配,则检查return true

if(herf.eq(i).is(link)){
    //Condition is ture
}

另外,要使用.eq()而不是[]

获取指定索引处的元素

您无需遍历对象。 代码可以缩减为

$("body a").click(function(e) {
    var herf = $("body a");
    var link = $("[id$=linkbuttonabsd]");
    var isb = herf.is(link);

    if (isb) {
        alert("b");
    } else {
        alert("a");
    }    
});

答案 1 :(得分:0)

尝试使用$.is来匹配元素。这是一个例子:

if ($(herf[i]).is("#linkbuttonabsd")) {
    isb = true;
}