gpt4 book ai didi

javascript - 在中间拆分一个文本节点

转载 作者:行者123 更新时间:2023-11-30 05:59:06 26 4
gpt4 key购买 nike

我有这个小文本

<div>
Hello world<br>
this is a good<br>
text!

<br><br>

Whatever I need help<br>
so please!<br>

<br><br>
<!-- I WANT TO SELECT THE ELEMENTS AFTER THIS LINE INCLUDING TEXTNODE -->
It will be very nice<br>
when it works!

<br><br>
It will be very nice<br>
when it works!
<br><br>
</div>

如您所见,它看起来像不同的部分。

我可以通过搜索所有 double <br><br> 找到中间点标记中的标记并将其除以 2。我创建了这个小函数:

var content = $("div").html().toString();
var middle = content.match(/<br[^>]*><br[^>]*>/g).length / 2;

我现在的问题是我不知道如何选择元素,包括双 br 标签之后的文本节点。

这是标记和 JS 的 fiddle http://jsfiddle.net/ATbKU/

如果我只是得到有关如何完成的提示就足够了;-)

最佳答案

我想出了这个不涉及分割 HTML 的解决方案:

var content    = $("div").contents(),
dblBRCount = content.filter(function () {
return this.tagName == "BR" && this.nextSibling.tagName == "BR";
}).length,
filterCount = 0,
result = content.filter(function () {
if (filterCount >= (dblBRCount / 2))
return true;
else if (this.tagName == "BR" && this.previousSibling.tagName == "BR")
filterCount++;

return false;
});​​​​

相反,它遍历元素的所有子节点两次,一次是为了得到 double <br>。元素和另一个过滤掉中间之前的所有元素,保留中间的元素。

工作演示:http://jsfiddle.net/AndyE/ATbKU/1/

关于javascript - 在中间拆分一个文本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com