JQuery 获取元素文本内容 例如:<ul><li><b>元素B的内容</b>元素LI的内容</li><li></li></ul>请问用JQuery 怎么获取“元素LI的内容”这个内容。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果页面有很多ui呢?jq怎么写?我一般是这样取值的,给ui设置id,然后循环取值:var par = document.getElementById('ui_id'); for(var i = 0;i<par.children.length;i++){ alert(par.children[i].innerHTML;);} 请看清楚问题:假如我给ul的id为ulid,我如果这样写。var lis = $("#ulid > li");lis.each(function(i){ alert($(this).text());//结果为"元素B的内容 元素LI的内容".});结果就多了<b>元素内的文本,我意思是想只得到li里的直接文本。不要他里面的子元素的文本。就是想通过选择器或者其他方法简单地得到结果。这问题我是解决了的,不过我用到了正则表达式。想问下高手有没有更直接的方法而已。 试试,先为b元素指定一个id然后:$("#ulid > li").not("#bid").html 貌似没有简单方法,jq选择器不会去匹配文本节点所以只有正则alert($("ul li").html().replace(/<b>.*?<\/b>/ig,"")); var o=$("ul li").clone();o.find("b").remove();alert(o.html()); <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>test.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery-1.3.2min.js"></script> <script type="text/javascript"> $( function() { alert($("li > b").siblings().html()); });</script> </head> <body> <ul> <li> <b>元素B的内容 </b><span>元素LI的内容</span> </li> <li> </li> </ul> </body></html>实验过了可以,只要把你要的取到的东西放在与<b>标签同级的就可以,是下吧!! 为什么不能放在上面? 发一个列拖拉的插件 EasyUI新组件-拖拽类EasyDragDrop,弹出层基类EasyLayer,遮罩类EasyMask,Popup类 DOM API原理性问题 这段操作cookie的代码哪里错了啊? 如何遍历节点元素的属性集? 一个很不常见的问题-----------在线等 几个语句请教!!!各位大哥帮忙解释一下? document.layers是什么意思 怎样在主页里配置音乐 请帮忙看下这个js什么意思啊?麻烦详细解释下吧,谢谢啊 关于JS一个功能的实现
我一般是这样取值的,给ui设置id,然后循环取值:
var par = document.getElementById('ui_id');
for(var i = 0;i<par.children.length;i++){
alert(par.children[i].innerHTML;);
}
假如我给ul的id为ulid,
我如果这样写。
var lis = $("#ulid > li");
lis.each(function(i){
alert($(this).text());//结果为"元素B的内容 元素LI的内容".
});结果就多了<b>元素内的文本,我意思是想只得到li里的直接文本。不要他里面的子元素的文本。
就是想通过选择器或者其他方法简单地得到结果。
这问题我是解决了的,不过我用到了正则表达式。想问下高手有没有更直接的方法而已。
然后:$("#ulid > li").not("#bid").html
所以只有正则
alert($("ul li").html().replace(/<b>.*?<\/b>/ig,""));
var o=$("ul li").clone();
o.find("b").remove();
alert(o.html());
<html>
<head>
<title>test.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery-1.3.2min.js"></script>
<script type="text/javascript">
$( function() {
alert($("li > b").siblings().html());
});
</script>
</head> <body>
<ul>
<li>
<b>元素B的内容 </b><span>元素LI的内容</span>
</li>
<li>
</li>
</ul> </body>
</html>
实验过了可以,只要把你要的取到的东西放在与<b>标签同级的就可以,是下吧!!