如何使用javascript删除行尾的br标记?
<code>
line 1 <br>
line 2 <Br>
line 3 <br />
line 4 <br/>
</code>
答案 0 :(得分:6)
这将删除页面上第一个 br
元素中的最后一个code
:
var code = document.querySelector('code');
var brs = code.querySelectorAll('br');
var br = brs.length && brs[brs.length-1];
if (br) {
br.parentNode.removeChild(br);
}
实例:
setTimeout(function() {
var code = document.querySelector('code');
var brs = code.querySelectorAll('br');
var br = brs.length && brs[brs.length-1];
if (br) {
br.parentNode.removeChild(br);
}
}, 500);
&#13;
<code>
line 1 <br>
line 2 <Br>
line 3 <br />
line 4 <br/>
</code>Text after so you can see it when it goes
&#13;
querySelector
和querySelectorAll
都采用CSS样式选择器。它们在所有现代浏览器和IE8上都得到了支持。 querySelector
会返回文档中第一个匹配元素(如果有),如果没有,则返回null
。 querySelectorAll
返回匹配元素的列表(可能为空,因此上面的检查)。
上面也使用了JavaScript强大的&&
运算符,它是一个奇怪强大的||
运算符的表兄弟; this post on my blog解释了两者。
当然,如果您需要更具体地了解您正在处理的code
元素,请相应地调整第一个选择器。
如果你使用jQuery,它会更简单:
$("code").first().find("br").last().remove();
实例:
setTimeout(function() {
$("code").first().find("br").last().remove();
}, 500);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<code>
line 1 <br>
line 2 <Br>
line 3 <br />
line 4 <br/>
</code>Text after so you can see it when it goes
&#13;
答案 1 :(得分:1)
替代js;这不会从代码中删除br
,但br
将不再添加换行符。
br {
display: none;
}
答案 2 :(得分:0)
使用JQuery:
$("code").find("br:last").remove()
使用普通JS:
var targetElement = document.getElementsByTagName("code")[0],
lastChildElement = targetElement.lastChild;
targetElement.removeChild(lastChildElement);