Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript获取没有ID的Div的值(只有一个类)_Javascript_Element - Fatal编程技术网

使用Javascript获取没有ID的Div的值(只有一个类)

使用Javascript获取没有ID的Div的值(只有一个类),javascript,element,Javascript,Element,我正在尝试使用javascript获取div的值。这个特定的div元素没有ID,它只有一个类。HTML如下所示: Some text I don't care about <div id="wrapper"> <div class="class_I_dont_care_about"> <div class="need_value_from_this_div"> Value I Need to Get Using Javascript

我正在尝试使用javascript获取div的值。这个特定的div元素没有ID,它只有一个类。HTML如下所示:

Some text I don't care about
<div id="wrapper">
<div class="class_I_dont_care_about">
    <div class="need_value_from_this_div">
        Value I Need to Get Using Javascript
    </div>
</div>
</div>
一些我不关心的文本
我需要使用Javascript获取的值

我忘了指定“getbyelementclass”不是一个选项,因为它只受IE 9以及最新版本的chrome、FF和opera的支持,所以如果可能的话,我正在寻找一个更“多浏览器”的选项。

您可以使用
querySelectorAll()

var value = document.getElementsByClassName('need_value_from_this_div')[0].innerHTML;
即使与IE-8配合使用,它也应能正常工作

否则,更好的选项是
.getElementsByCassName()

var className = 'a';
var elems = getByClass(className);

for(var i =0;i<elems.length;i++){
    console.log(elems[i].innerHTML);
}

function getByClass(className){
    var elems = [];
    if(document.querySelectorAll){
        elems = document.querySelectorAll( '.' + className);
    }
    else{
        elems = document.getElementsByClassName( '.' + className);
    }       
    return elems;    
}
var className='a';
var elems=getByClass(类名);

对于(var i=0;iDepending on the browser you need to support,您可以使用感谢您提出的vcsjones,我忘了指定这不是一个选项。我编辑了我的原始问题以反映这一点。非常感谢leonw,这是对我的“编辑前”的有效回答问题,我是个白痴,忘了指定我需要更“跨浏览器兼容”的东西.我编辑了我的问题以反映这一点。没问题,在这种情况下,我认为最简单的解决方案是选择包装器。然后使用.childNodes之类的方法从DOM树上爬下来并选择所需的标记。我认为这是跨浏览器。但我还没有检查它,如果我错了,很抱歉!
var className = 'a';
var elems = getByClass(className);

for(var i =0;i<elems.length;i++){
    console.log(elems[i].innerHTML);
}

function getByClass(className){
    var elems = [];
    if(document.querySelectorAll){
        elems = document.querySelectorAll( '.' + className);
    }
    else{
        elems = document.getElementsByClassName( '.' + className);
    }       
    return elems;    
}