有没有办法通过JavaScript在第二个锚之后插入一个中断?
<a title="1" href="#">Link 1</a>
<span>|</span>
<a title="2" href="#">Link 2</a>
<span>|</span>
<a title="3" href="#">Link 3</a>
<span>|</span>
<a title="4" href="#">Link 4</a>
<span>|</span>
<div>This is something else blahblah</div>
我尝试将%0D%0A附加到锚点,但没有类/ ID。 HTML不是来自我,所以我一直在寻找一种方法来选择一个特定的元素。
答案 0 :(得分:1)
jQuery有一个很好的内置函数:after(),http://api.jquery.com/after/
在您的情况下,您可能需要这样的选择器:
$('#yourAnchorId').after('<br/>');
上面给出的链接中的代码示例还显示了如果对您来说是新的加载jQuery。
答案 1 :(得分:1)
你可以试试这个:
var lineBreak = document.createElement('br');
var target = document.querySelector('a[title="3"]');
document.body.querySelector('#AnchorParent').insertBefore (lineBreak, target);
答案 2 :(得分:0)
您可以使用函数insertAdjacentElement
:
document.querySelector('[title="2"]').insertAdjacentElement('afterend', document.createElement('br'))
<a title="1" href="#">Link 1</a>
<span>|</span>
<a title="2" href="#">Link 2</a>
<span>|</span>
<a title="3" href="#">Link 3</a>
<span>|</span>
<a title="4" href="#">Link 4</a>
<span>|</span>
<div>This is something else blahblah</div>
Element.insertAdjacentElement()
insertAdjacentElement()方法在相对于调用它的元素的给定位置插入给定元素节点。
位置参数
表示相对于targetElement的位置的DOMString;必须&gt;匹配(不区分大小写)以下字符串之一:
- 'beforebegin':在元素本身之前。
- 'afterbegin':就在元素内部,在它的第一个孩子之前。
- 'beforeend':在元素内部,在其最后一个孩子之后。
- 'afterend':元素本身之后。