Javascript:检索li中存在的标签的内容

Javascript: retrieving contents of label present in li

本文关键字:标签 存在 检索 li Javascript      更新时间:2023-09-26

我是javascript的新手,我没有得到以下问题的解决方案我的代码是:

<ul>
    <li>
        <label name = "mv"> Movie1 </label>
        <label name = "sn"> Song1 </label>
        <label name = "ac"> Actor1 </label>
    </li>
    <li>
        <label name = "mv"> Movie2 </label>
        <label name = "sn"> Song2 </label>
        <label name = "ac"> Actor2 </label>
    </li>
</ul>

我想在第一次迭代中检索movie1song1和actor1,并以相同的方式进行下一次迭代。有人请帮忙。感谢

simple:

function getData(){
    var result=[];
    var lis=document.getElementsByTagName('li');
    for(var k=0;k<lis.length;k++){
        for(var j=0;j<lis[k].childNodes.length;j++){
            result[k][j]=lis[k].childNodes[j].innerHTML;
        }
    }
    return result;
}

它将返回一个数组,数组中的每个元素都将是另一个数组。该数组的每个元素将是一个标签的值。例如,它可能会返回以下信息:

[
    [
        'Great Gatsby',
        'Counting Stars',
        'Lio Decaprio'
    ],
    [
        'Argo',
        'Bangarang',
        'Johnny Depp'
    ]
]
var labels=document.getElementsByTagName("label");
var set=labels.length/3;
var myAry=[];
for(var i=0;i<set;i++){
 var str="";
   for(var j=(i*3);j<(i+1)*3;j++){ 
       str+=labels[j].innerHTML;
   }
 myAry.push(str); // myAry[0]= movie1 song1 actor1, myAry[1]=movie1 song1 actor1
} 

http://jsfiddle.net/wsfFh/

工作演示

a=document.getElementsByTagName("ul");
console.log(a[0].childNodes[1].innerText);

这会给你想要的。如果您想要第二个列表,请使用以下

console.log(a[0].childNodes[3].innerText);

编辑:不知何故,Firefox不具有.innerText属性。另一种选择是使用

.text内容

跨浏览器兼容。经过IE、Chrome、FF 测试

FIDDLE

使用jQuery 更容易

$("li").each(function(){
    var text = "";
    $(this).children().each(function(){
        text += " " + $(this).text() 
    });
    console.log(text)
});