2014-10-17 2 views
1

Расширение на How to get a text before given element using jQuery? - как на самом деле вставить этот текст в другой абзац?Извлечь текст из одного абзаца и вставить в другой

http://jsfiddle.net/frank_o/fqwow5rr/

HTML:

<p>Text here <a href="#">URL</a></p> 

<!-- Should be: 

<p>Text here</p> 
<p><a href="#">URL</a></p> 

--> 

JS:

var text = $('a').parent().html(); 
var regex = /(.*)<a/; 

text = text.match(regex)[1]; 

console.log('Extracted text: ' + text); 

# Uncaught TypeError: undefined is not a function 
text.clone().append('<p></p>'); 

ответ

1

text перенастройка переменную со значением строки. См неподвижного примера:

var $text = $('a').parent(); 
 
var regex = /(.*)<a/; 
 

 
var eText = $text.html().match(regex)[1]; 
 

 
console.log('Extracted text: ' + eText); 
 

 
$text.after($('<p>', { 
 
    text: eText 
 
}));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Text here <a href="#">URL</a> 
 
</p>

Если вы хотите, чтобы переместить элемент ссылки (a), просто взять его и вставить его в новый пункт:

var $a = $('a'); 
 
var $text = $('a').parent(); 
 

 
$text.after($('<p>', { 
 
    html: $a[0].outerHTML 
 
})); 
 
$a.remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p>Text here <a href="#">URL</a> 
 
</p>

+0

Отлично! Привет, это должно быть именно то, что мне нужно. Для чего это стоит здесь фактический прецедент: http://jsfiddle.net/frank_o/o4uguntu/5/ –

+0

@MarkBoulder Отлично. :-) –

+0

Любой шанс вы можете дать мне некоторую обратную связь по http://jsfiddle.net/frank_o/o4uguntu/10/? –

Смежные вопросы