jQuery 获取 .text() 但不获取 span 中的文本
jQuery get .text() but not the text in span
这是我的jQuery部分,它为我的页面制作菜单。
function fetchmenus() {
$.getJSON('sys/classes/fetch.php?proccess=1', function(status) {
// get line status
$.each(status, function(i, item) {
if (item.id == "1") {
active = "class='active'";
lastpageid = item.href;
}
else {
active = "class='nonactive'";
}
$('<li id="' + item.href + '" ' + active + '><a href="#' + item.href + '">' + item.menuTitle + '<span class="menuspan" id="' + item.href + '"></span></a></li>').appendTo('#menuarea ul#mainmenu');
});
});
}
我想做的是在<a
中但在<span>
之前获得item.menuTitle
。
目前我是这样做的:
$('ul#mainmenu li').live('click', function(event) {
//alert(this.id);
$("li#" + lastpageid).removeClass();
fetchpage(this.id);
$("#largemenutop").html($(this).text());
$("li#" + this.id).addClass("active");
lastpageid = this.id;
});;
有没有更好的方法可以做到这一点?
很好的解决方案赫尔曼,尽管它可以简化为这样的东西:
.JS
$('li a').contents().filter(function() {
return this.nodeType == 3;
}).text();
.HTML
<li><a href="#">Apple<span>hi</span> Juice</a></li>
会回来Apple Juice
小提琴:http://jsfiddle.net/49sHa/1/
是的,您只能选择元素的文本内容,如下所示:
var text = '';
$('a').contents().each(function(){
if(this.nodeType === 3){
text += this.wholeText;
}
});
$("#largemenutop").html(text);
相关文章:
- 获取单选按钮元素的span子项
- jquery单击链接并获取单选输入值以更改span中的文本
- 获取数组中的所有span innerHTML
- Jquery将href值获取到span应答器中
- 当我尝试获取span的父ID时,我得到了未定义的值
- 如何从 jquery 获取 span 的值
- 通过使用javascript或jquery在中继器中获取span的文本值
- 当我单击元素数学/物理/化学时,如何使用jQuery获取SPAN ID
- 获取 span 标记内的选定选项值
- 在jquery中获取span标记的前2个单词和后2个单词
- 获取span的每个类的值,并将字符串输入
- 如何获取Span上的文本更改事件
- 如何获取span值并将该值作为class/id添加到DOM中
- 获取span元素的值并将其输出
- 如何获取span的id并使其不显示动态生成的id
- 获取span的类名,其中data-*被设置为特定字符串
- 在Iframe弹出窗口中获取span的XPath表达式时需要帮助
- 使用jquery从单选按钮获取span价格
- 获取span中单个字母的偏移量
- jQuery 获取 .text() 但不获取 span 中的文本