我有一个列表:
<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的方法?
谢谢!
答案 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);
});
});
$(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;
答案 3 :(得分:0)
此代码将为您提供所需内容:
var insideEM = $("li").children("em").html();
答案是:222<br />333
答案 4 :(得分:0)
这是我认为对于vanilla js来说最人性化的方法:
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;