javascript - 使用 <br> 提取段落的第 n 行

标签 javascript html

我正在尝试创建一个函数,该函数将采用 HTML 中的一个段落,如下所示;

<p>
One<br>
Two<br>
Three<br>
Four<br>
</p>

...并将使用 <br>选择随后可以使用的指定线路。类似于下面这段代码的内容将有助于实现,其中 1是行号;

function addText() {
    var input = document.getElementById('TARGET');
    input.value = input.value +getLine("SOURCE", 1);
}

有什么想法吗?谢谢!

最佳答案

如果您想按行获取文本,则不需要中断标记。您只需要在文本本身中换行即可。您可以使用这样的函数:

function getTextByLine(target, line) {
  var text = document.querySelector(target).innerHTML
  return text.trim().split('\n')[line - 1]
}

在jsfiddle上测试一下 here .

<小时/>

更新

如果您想使用中断标签,也可以这样做。

function getTextByLine(target, line) {
  var text = document.querySelector(target).innerHTML
  var lines = text.trim().split('<br>').filter(function(str) {
    return str !== '<br>'
  })
  return lines[line - 1]
}

fiddle here .

关于javascript - 使用 <br> 提取段落的第 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127553/

相关文章:

JavaScript 事件和 "srcElement"

javascript - 模糊时隐藏 div

javascript - 如何使用数组中的每个?

css - 使用 CSS 更改 HTML5 输入的占位符颜色

html - 如何让两个街区更近

javascript regex - 删除查询字符串变量(如果存在)

javascript - rxjs 中的 Observable 和 Subject 有什么区别?

javascript - 如何使用 cytoscape.js 在单个动画中向特定方向移动所有节点?

javascript - 如何在 D3 Js 上下文菜单项旁边显示图像。

html - 请求的 css 文件数组