我有一个HTML代码段:
<li class="as-selection-item">
<a class="as-close">×</a>
Rudy Hamilton
</li>
如何从Rudy Hamilton
获取li.as-selection-item
的值但却没有从x
中获取值a.as-close
?
答案 0 :(得分:6)
document.querySelector('.as-close').nextSibling.nodeValue
JSFiddle演示:http://jsfiddle.net/t8Qst/
它使用nextSibling
来获取具有as-close
类的元素之后的节点。
如果你想把li里面的所有东西都拿来,除了锚之外,你可以使用它:
var li = document.querySelector('.as-selection-item').cloneNode(true);
li.removeChild(li.querySelector('.as-close'));
alert(li.textContent);
您克隆li,从克隆中删除锚点,然后只显示其文本。
JSFiddle演示:http://jsfiddle.net/58pLz/
使用jQuery(如果你已经在使用它),这就是这个:
var li = $('.as-selection-item').clone();
$('.as-close', li).remove();
alert(li.text());
答案 1 :(得分:1)
使用jQuery可以使用:
$(".as-selection-item").text();
这将返回.as-selection-item
内的所有thext而不是html
如果您只想要.as-selection-item内的文本(不在锚点中),您可以使用:
$(".as-selection-item").clone().children().remove().end().text();
克隆该对象,删除子对象并返回文本。