添加到行的开头
问题描述:
我有一些在各个地方都有标签<ins>...</ins>
的html。我希望能够在具有这些标签的行的开头添加一些内容。当我说“行”时,我的意思是有<br>
标签(不是<br/>
标签)以及。添加到行的开头
这里的一些(弥补)HTML:
It was a very nice day in my home town.<br>
Then suddenly a <ins>dragon</ins> came!<br>
This <ins>dragon</ins> was absolutely <ins>terrifying</ins>,<br>
and he made everyone flee. The end.
我已经试过几件事情。第2行是最接近的,但我应该使用类似于第3行的内容,但它并没有做到这一点。
$("ins").each(function() {
$(this).prev().after("→ "); // this almost works, but inserts an extra → in line 3
$(this).closest("br").after("→ "); // not sure why this doesn't work
});
结果应该是这样的:
It was a very nice day in my home town.
→ Then suddenly a <ins>dragon</ins> came!
→ This <ins>dragon</ins> was absolutely <ins>terrifying</ins>,
and he made everyone flee. The end.
答
指定内部prev()
方法选择器,以避免选择任何其他标记。 closest()
方法用于获取最接近的祖先元素而不是兄弟。
$("ins").each(function() {
$(this).prev('br').after("→ ");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
It was a very nice day in my home town.
<br>Then suddenly a <ins>dragon</ins> came!
<br>This <ins>dragon</ins> was absolutely <ins>terrifying</ins>,
<br>and he made everyone flee.
唉,我不知道你可以添加元素名称上一个()。这很好,谢谢。我会在一分钟内将其标记为答案。 – theglossy1