gpt4 book ai didi

javascript - 捕捉文本中的换行符

转载 作者:行者123 更新时间:2023-11-30 18:20:32 25 4
gpt4 key购买 nike

所以我正在用 javascript 分析一堆 HTML,这样我就可以将这篇文章缩减到 30 个字符左右,并附加诸如“...阅读更多”之类的内容。问题是文本 block 被隔开带有 BR 标签。这是我的代码;

<head runat="server">
<title></title>
<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function onLoad() {
alert("Start");
var intros = this.document.getElementById('EventContent');
if (intros) {
for (i = 0; i < intros.length; i++) {

var els = intros[i].childNodes;
if (els) {
for (j = 0; j < els.length; j++) {
alert(els[j].tagName)
}
}
}
}
alert("Start");
}

</script>
</head>
<body>
<form id="form1" runat="server">
<div id="EventContent">
<br />


<br />
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<br />
</div>
</form>
</body>

但是我的警报标记名从未显示,尽管我收到了 STARTEND 警报。我究竟做错了什么?我怎样才能捕获那些愚蠢的 lineBreaks...

最佳答案

document.getElementById只返回一个元素;不要试图遍历它。

window.onload = function() {
alert("Start");

var intro = document.getElementById('EventContent');
var els = intro.childNodes;

for (var i = 0; i < els.length; i++) {
alert(els[i].tagName);
}

alert("Stop");
};

至于只检索文本的最终目标,试试这个:

function getText(element) {
var i, c, r = '';

for(i = 0; c = element.childNodes[i]; i++) {
if(c.nodeType === 3) {
r += c.nodeValue;
}
}

return r.replace(/^\s+|\s+$/g, '');
}

关于javascript - 捕捉文本中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144227/

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