如何根据更改的父类获取元素ID

时间:2012-10-28 16:30:07

标签: javascript jquery

如何在当前div中通过id获取第一个元素?表示当class =“uc-current”转到其他元素时,它会在新元素中获得id =“c”的第一个元素。

我想做这样的事情。

function fani(){document.getElementById('uc-current c').className ='c-back';}

任何帮助?

2 个答案:

答案 0 :(得分:1)

您可能想要使用类名:<div class="c">...</div>

然后你做:

document.querySelector('#uc-current .c').className = 'c-back';

答案 1 :(得分:0)

你永远不需要这样做。 ID应该是唯一的,因此只需使用getElementById即可。但我已经在违反这条规则的第三方网站上工作过。因此,如果您发现自己处于这种情况,可以试试这个:

function firstMatchingID(parentElement, id){
    var nodes = parentElement.children ;
    var ln = nodes.length ;
    for(var i = 0; i<ln ; i++){
        if (nodes[i].id == id){
            return nodes[i] ;
        }
    }
}

var parentElement = document.getElementsByClassName("c-back")[0];  // Example only. getElementsByClassName is not supported by all browsers
firstMatchingID(parentElement, "uc-current") ;

如果你正在使用jQuery,你可以这样做:

$(".c-back>#uc-current:eq(0)");

但只是看着那个选择器让我哭了一下。因为不得不多次使用重复使用的ID,我终生难过。有一天,我要抢购并开始追捕开发商。