2010-07-30 6 views
2

    Tous Je veux seulement obtenir « tous » sans <ins>comment obtenir une partie de html dans javascript?

Quand j'utilise $j(this).parent().html() je reçois

<ins class="jstree-checkbox">&nbsp;</ins> 
<ins class="jstree-icon">&nbsp;</ins> 
All 

mais j'ai besoin que « tout » Comment puis-je obtenir?

Répondre

4

Si l'on suppose la partie .parent() est correcte, essayez ceci:

var result = $j(this).parent().contents().last().text(); 

Vous pouvez couper le résultat, car il y aura probablement un espace blanc.

var result = $j(this).parent().contents().last().text(); 

result = $j.trim(result); 

Ou s'il n'y a pas d'autre texte, vous pouvez simplement faire ceci:

var result = $j(this).parent().text(); 
+0

travaille avec un tweak:... 'Var result = j $ (this) de .parent() contenu() dernier() texte();' (http://jsfiddle.net/krLw3/) – Pat

+0

Vous avez raison, ça marche bien – Bohdan

+0

@Pat - Merci. : o) J'ai attrapé ça avant mon dernier montage. Dans mon code de test j'avais '.text()' sur la ligne suivante. – user113716

1
($j(this).parent().html().substring(78, $j(this).parent().html().length) 

Les meilleures solutions?

2

Essayez les options suivantes pour obtenir 'All'

obj = $(this).parent().get(0); 
var allText = obj.lastChild.nodeValue; 
+1

andreas - Bonne solution. Bien que si vous allez prendre la route de l'API native, vous pouvez aller aussi loin: 'var allText = this.parentNode.lastChild.nodeValue;': o) – user113716

+0

je l'admets ... c'est un 'hybride':) Bon point là Patrick – Andreas

Questions connexes