0

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

我想做这样的事情。

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

有什么帮助吗?

4

2 回答 2

1

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

然后你做:

document.querySelector('#uc-current .c').className = 'c-back';
于 2012-10-28T16:35:40.210 回答
0

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

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,我终生受了伤。有一天,我要抓紧抓捕开发人员。

于 2012-10-28T16:48:50.540 回答