javascript - chop 文本而不点击嵌套链接

标签 javascript jquery truncate

<分区>

我有一段嵌套了阅读更多链接。

<p>Lorem ipsum blah blah blah <a href="link">Read More</a></p>

我需要 chop 段落文本并以省略号结尾而不影响 <a></a> 中的任何内容标签。

我可以使用 $(p).text($(p).text().substring(0,n)+'...'); chop 文本但当然,如果我使用 $(p).text() 抓取该段落它会包含链接并将其删除。

有没有办法抓取 <p> 的文本,然后用 chop 的版本替换不影响 </a> .最好不必使用任何正则表达式或不必克隆链接并重新附加它?

最佳答案

您可以使用 nodeType 执行类似的操作.然后您可以使用 textContent 更改值属性(property)。

For a text node, the nodeType property will return 3.

alert($('p').contents().filter(function() {
  return this.nodeType == 3;
})[0].textContent);

//set new value
$('p').contents().filter(function() {
  return this.nodeType == 3;
})[0].textContent = 'New text ';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<p>Lorem ipsum blah blah blah <a href="link">Read More</a></p>

关于javascript - chop 文本而不点击嵌套链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36915739/

相关文章:

Javascript 选择框 - 使图像出现而不是文本

javascript - jQuery datetimepicker - 日期格式不起作用

javascript - 弹框根据li查看信息

用于验证 192.169.0.0/24 等模式的 Javascript 正则表达式

php - sql - 如何在 MySql 中截断多个表?

oracle - 从 oracle db 截断表时出错

javascript - 访问 topojson 对象以更改 d3.js 中的 map 国家/地区属性

javascript - 使用 fuse.js 搜索特定的 id 或值

javascript - 如何在自己的 Typo3 6.2 扩展中包含 .js 文件?

java - 截断为整数...以及 if 语句确定它是否不是整数