javascript - 如何获取<br>标签后的文字

标签 javascript jquery

如何获得所有的text<br/> 之后tag

我的html是这样的

<i class="loc">cherry<br>From Shimla</i>
<i class="loc">Apple<br>from kashmir</i>
<i class="loc">banana<br>From bihar</i>

预期输出:["From Shimla","from kashmir","From bihar"];

我正在尝试这样的事情

var arr = [];

$('.loc').each(function(){
   arr.push($(this).text());
});
console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<i class="loc">cherry<br>From Shimla</i>
<i class="loc">Apple<br>from kashmir</i>
<i class="loc">banana<br>From bihar</i>

最佳答案

您可以定位 br 元素并使用 .get(index) 获取底层 DOM 元素,使用 nextSibling以文本节点为目标。那么nodeValue属性可用于获取文本。

var arr = [];
$('.loc').each(function() {
  arr.push($(this).find('br').get(0).nextSibling.nodeValue);
});
console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<i class="loc">cherry<br>From Shimla</i>
<i class="loc">Apple<br>from kashmir</i>
<i class="loc">banana<br>From bihar</i>

你可以进一步改进你的代码

var arr = $('.loc').map(function() {
  return $(this).find('br').get(0).nextSibling.nodeValue;
}).get();
console.log(arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<i class="loc">cherry<br>From Shimla</i>
<i class="loc">Apple<br>from kashmir</i>
<i class="loc">banana<br>From bihar</i>

关于javascript - 如何获取<br>标签后的文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40864261/

相关文章:

javascript - 使用元素数据集作为变量动态调用函数

javascript - 选择元素上的 Angular ng-repeat 空选项在离开状态时导致错误

javascript - JQGrid 中的 onSelectRow

jquery - 滚动到列表中的某个项目

javascript - JVector Map如何在标记悬停时获得动态图像

javascript - 如何使用 Javascript 制作悬停效果以显示 div 中的元素

asp.net - 如何让子控件正确的 id 到客户端

javascript - Azure Cosmos DB 存储过程响应大小太大

jquery 验证 future 日期

javascript - 从图像点击发送高度和宽度到 fancybox