您好,我正在努力实现这一目标:
<div class="content">
<img src= />
<img src= />
<div class="slideshow"> <img src= /><img src= /><img src= /></div>
Some text here
<a href="#">Link</a>
<i>Italic text</i>
etc more text.
</div>
<div class="content">
<img src= />
<img src= />
<div class="slideshow"> <img src= /><img src= /><img src= /></div>
<div class="description"
Some text here
<a href="#">Link</a>
<i>Italic text</i>
etc more text.
</div>
</div>
我已经尝试过文本节点,但它会将所有行文本包装在描述 div 中。我正在尝试检测第一行文本直到最后一行文本。如果有帮助,说明后不会有图片、视频或幻灯片。
我一定是遗漏了 find node type=3 的东西
任何建议都很好
最佳答案
尝试:
$('.project_content').each(function () {
var tmp = [], collecting = false;
$(this).contents().each(function () {
if (this.nodeType === Node.TEXT_NODE && $.trim(this.nodeValue).length > 0) {
collecting = true;
}
if (collecting) {
tmp.push(this);
}
});
$(tmp).wrapAll('<div class="description" />');
});
http://jsfiddle.net/6EsRL/1/这个包装了从第一个文本节点到下一个文本节点的所有元素。
http://jsfiddle.net/6EsRL/3/这个包装了从第一个文本节点到最后一个子节点的所有元素。
关于javascript - 在内容的开头和结尾添加 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399988/