如何在JS中的特定锚点中插入换行符?

时间:2018-02-16 20:20:18

标签: javascript

有没有办法通过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不是来自我,所以我一直在寻找一种方法来选择一个特定的元素。

3 个答案:

答案 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':元素本身之后。
    •