2017-02-13 17 views
1

私は、さまざまな場所で<ins>...</ins>タグを持ついくつかのhtmlを持っています。私はこれらのタグを持っている行の先頭に何かを追加できるようにしたいと思います。私が「ライン」と言うときは、<br>タグ(<br/>タグではない)もあるということです。私はいくつかのことを試してみました行の先頭に追加

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. 

は、ここではいくつかの(アップ製)のhtmlです。 2行目が一番近いですが、おそらく3行目のようなものを使うべきですが、それはやっていません。

$("ins").each(function() { 
$(this).prev().after("&rarr; "); // this almost works, but inserts an extra → in line 3 
$(this).closest("br").after("&rarr; "); // 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. 

答えて

0

は、他のタグを選択避けるためにprev()メソッド内のセレクタを指定します。 closest()メソッドは、兄弟ではなく、最も近い祖先要素を取得するために使用しています。

$("ins").each(function() { 
 
    $(this).prev('br').after("&rarr; "); 
 
});
<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.

+1

うわ、私は)(あなたが前に要素名を追加することができます実現しませんでした。それは完璧に働いた、ありがとう。私はそれを答えとして1分でマークします。 – theglossy1

関連する問題