如何用class找到div的元素

时间:2013-09-06 18:20:57

标签: javascript jquery

如何使用类

获取div的“a”元素
<div class="membox_externalcontent">
    <!-- find "a" elements of here  -->
<div>

我有这个代码来获取body的元素,我想改进它:

function xpathh(){
    var nodesSnapshot = document.evaluate('//body//a', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );

    for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ )
    {
        var href = String(nodesSnapshot.snapshotItem(i).getAttribute('href'));
        console.log(href);
    }
}

6 个答案:

答案 0 :(得分:3)

使用find,您可以将标记作为参数传递。

$('.membox_externalcontent').find('a');

答案 1 :(得分:2)

您可以使用jquery

轻松完成此操作

DEMO HERE

var elems = $('.membox_externalcontent a');// array of <a> elements

或者:

var elems = $('.membox_externalcontent').find('a');// array of <a> elements

答案 2 :(得分:1)

如果您的意思是要查找<div>中包含某个类的所有元素,那就是:

var elems = $('.membox_externalcontent *');

答案 3 :(得分:1)

假设允许jQuery,基于问题的标签:

var links = $('.membox_externalcontent a');

links.each(
  function( i, v ) {
    console.log(v.href);
  }
);

答案 4 :(得分:0)

就像在CSS中一样:

$('.membox_externalcontent a');

你可以迭代那些像

这样的项目
$('.membox_externalcontent a').each(function(){
    console.log( $(this).attr('href') );
});

答案 5 :(得分:0)

这将是纯JavaScript解决方案,但我建议改为使用jQuery

var foo = document.getElementsByTagName('div'),
    i,
    bar;

for (i = 0; i < foo.length; i += 1) {
    if ((' ' + foo[i].className + ' ').indexOf(' membox_externalcontent ')
            > -1) {
        bar = bar.concat(
            document.getElementById(foo[i].id).getElementsByTagName('a')
        );
    }
}

console.log(bar);