javascript - obtener - jQuery get.text() pero no el texto en span
obtener el valor de un label con javascript (2)
Sí, puede seleccionar solo el contenido de texto del elemento, como este:
var text = '''';
$(''a'').contents().each(function(){
if(this.nodeType === 3){
text += this.wholeText;
}
});
$("#largemenutop").html(text);
Hola chicos, esta es mi parte jQuery que hace mi menú para mis páginas.
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'');
});
});
}
Lo que quiero hacer es obtener el item.menuTitle
en el <a
pero antes del <span>
Actualmente lo hago de esta manera:
$(''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;
});;
¿Hay una mejor manera de hacer esto?
Buena solución Herman, aunque se puede reducir a algo como esto:
JS
$(''li a'').contents().filter(function() {
return this.nodeType == 3;
}).text();
HTML
<li><a href="#">Apple<span>hi</span> Juice</a></li>
Volverá Apple Juice
Fiddle: http://jsfiddle.net/49sHa/1/