在li

时间:2016-03-16 17:29:40

标签: javascript android jquery html5

我有一个列表:

<ol id="id1">
<li><strong>aaa</strong><em>bbb<br />ccc</em></li>
<li><strong>111</strong><em>222<br />333</em></li>
</ol>

如何在每个<em>中获取<li>代码的html内容?

我尝试使用jQuery的.html()方法但在我试图制作的android html5应用程序上行为不一致。上面的Android 5.1能够很好地阅读,但android 4.4.2设备不会显示任何内容。

是否有另外一种获取HTML的方法?

谢谢!

5 个答案:

答案 0 :(得分:2)

$('li').each(function(){
   alert($(this).find('em').html());
});

$('li em').each(function(){
   alert($(this).html());
});

使用innerHTML:

var items = document.getElementsByTagName("li");
for(var i=0;i<items.length;i++){
    alert(items[i].getElementsByTagName("em")[0].innerHTML);
}

答案 1 :(得分:2)

var liElements = document.getElementById("id1").getElementsByTagName("li");
for(var i=0;i<liElements.length;i++){
    alert(liElements[i].getElementsByTagName("em")[0].innerHTML);
}

答案 2 :(得分:0)

你可以得到这样的所有 em 元素,然后迭代它们。

$(function(){
  $("ol li > em").each(function(index, element){
    var em = $(element).html();
    alert(em);
  });
});

&#13;
&#13;
$(function(){
  $("ol li > em").each(function(index, element){
    var em = $(element).html();
    alert(em);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<ol id="id1">
<li><strong>aaa</strong><em>bbb<br />ccc</em></li>
<li><strong>111</strong><em>222<br />333</em></li>
</ol>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

此代码将为您提供所需内容:

var insideEM = $("li").children("em").html();

答案是:222<br />333

答案 4 :(得分:0)

这是我认为对于vanilla js来说最人性化的方法:

&#13;
&#13;
var $list = document.querySelectorAll("#id1 li em");
document.write("<br />");

for (i = 0; i < $list.length; i++) {
   document.write((i+1) + " match: <br />");
  
   document.write($list[i].innerHTML);
  
   document.write("<br />");
}
&#13;
<ol id="id1">
<li><strong>aaa</strong><em>bbb<br />ccc</em></li>
<li><strong>111</strong><em>222<br />333</em></li>
</ol>
&#13;
&#13;
&#13;