jQuery得到.text()但不是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'"; } $('' + item.menuTitle + ' ').appendTo('#menuarea ul#mainmenu'); }); }); }
我想要做的是在<a
但在<
<a
之前获取
目前我是这样做的:
$('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; });;
有一个更好的方法吗?
是的,您只能选择元素的文本内容,如下所示:
var text = ''; $('a').contents().each(function(){ if(this.nodeType === 3){ text += this.wholeText; } }); $("#largemenutop").html(text);
很好的解决方案赫尔曼,虽然它可以简化为这样的事情:
JS
$('li a').contents().filter(function() { return this.nodeType == 3; }).text();
HTML
Applehi Juice
将返回Apple Juice
小提琴: http : //jsfiddle.net/49sHa/1/