1

我有这样的代码块

<span class='Wrapper'>
    <span class="title"></span>
    <span class="body">
        <ul class="items">
        <li></li>
        <li></li>
        </ul>
    <span>
</span>

一旦我使用 document.getElementsByTagName('span'); 访问跨度包装器元素 如何使用标题类访问内部跨度元素以及使用类主体访问跨度元素的 ul 元素。我需要使用纯 JavaScript 来执行此操作

4

4 回答 4

1

首先获取一个包含所有跨度元素的数组:

var yourSpans = document.getElementsByTagName('span');

然后循环遍历数组中的每个元素,检查该元素是否具有特定的类:

for(var i in yourSpans){
    if (yourSpans[i].className == "title" || yourSpans[i].className == "body") {
        // your code here
    }
}
于 2012-07-10T21:47:47.707 回答
0
var spans = document.getElementsByTagName('span');

将返回一个跨度数组。spans[0]您将使用,spans[1]等访问跨度。

于 2012-07-10T21:42:59.217 回答
0

添加到里根的答案,然后你需要做类似的事情

 for( var i = 0, j= spans.length; i < j; i+=1 ) {
    var classes = span[i].getAttribute("class");
    if( classes ) {
       if( classes.indexOf("your_class_name") != -1) {
          //span[i] is one of thelements you need containing 'your_class_name'.
       }
    }
 }
于 2012-07-10T21:49:49.920 回答
0

我真的会推荐使用 jQuery,它会让你的生活更轻松!

$('.title').dostuff...

但是,如果您想要一个仅 JS 的解决方案,那么您可以...

function editClass(matchClass,content) {
    var elems = document.getElementsByTagName('*'),i;
    for (i in elems) {
        if((" "+elems[i].className+" ").indexOf(" "+matchClass+" ") > -1) {
            elems[i].innerHTML = content;
        }
    }
}

是一个小提琴(Pure-JS,没有 jQuery)作为示例。

于 2012-07-10T21:50:52.217 回答