我有几个div
个元素:
<div class="newsContainer">
<div class="deleteBoxIcon">
<img alt="Delete" src="close_mark.png">
</div>
<div class="newsImage">
<img alt="NewsImage" src="umbrella.png">
</div>
<div class="newsContent">
<b>Here goes a title</b><br>
Here goes some content.
</div>
</div>
根据某些条件,我检索其中一个div并将其保存到一个对象(draggable
)中,现在我需要将标题和内容文本提取到输入控件。
获得标题对我来说并不困难,我只是这样做:
var title = $('.newsContent > b', $(draggable)).text();
但对我而言,困难的部分是获取内容,我已经尝试了这个但是无法正常工作因为它会检索所有文本(包括标题):
var content = $(':not(.newsContent > b)', $(draggable)).text();
希望你能帮助我只得到像这样的div的内容部分。
答案 0 :(得分:1)
试试这个:
var title = $('.newsContent > b').text();
var content = $.trim($('.newsContent').text().replace(title, ""));
答案 1 :(得分:0)
如果你只想要最后一点文字:
$('.newsContent', draggable).contents().last()[0].data;
.contents()
方法为您提供所有子节点,包括文本节点
.last()
为您提供最后一个节点,即您想要的节点
[0]
从jQuery对象中提取文本节点
.data
为您提供节点
或者您可以将[0].data
替换为.text()
。
$('.newsContent', draggable).contents().last().text();
答案 2 :(得分:0)
您应该更改标记,以便更轻松地编写JavaScript。包装您的标记,排除另一个标记中的标题,然后选择它。
示例:
<div class="newsContent">
<h2>Here goes a title</h2>
<div class="newsDesc">
<p>Here goes some content.</p>
</div>
</div>
然后,使用$('.newsContent .newsDesc', $(draggable)).text();