我有一个包含删除超链接的div,点击它,我想要div标签的文本.怎么可能在
jquery?!
<div>sometext<a href="#">delete</a></div>
我想得到div标签’sometext’的文本,如果可能的话也得到div的id.
有任何想法吗?!
解决方法
做的问题:
$(this).parent().text();
是它将获得div中的所有文本(sometext AND delete).
我假设你只想要div中的文本而不是链接.
我在jsFiddle上打了一个例子:
理想情况下,您可能希望将文本换行,例如:
<div id="div1"><span>sometext</span><a href="#">delete</a></div>
然后你的JavaScript将是:
$("a").click(function(e){ $div = $(this).parent("div"); id = $div.attr("id"); text = $div.find("span").text(); alert( text ); e.preventDefault(); });
编辑
正如@DarthJDG所述,如果您不想更改标记,那么任何这些也可以起作用:
text = $div.get(0).childNodes[0].nodeValue; //OR text = $div[0].childNodes[0].nodeValue; //OR text = $div.get(0).firstChild.nodeValue; //OR text = $div[0].firstChild.nodeValue; //OR //Gets the first text node $div.contents().filter(function() { return this.nodeType == Node.TEXT_NODE; }).text();