2017-02-13 2 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

관련 문제