Я работаю над заменой определенного текста на упаковку этого конкретного текста. Во всяком случае, я в замешательстве. Я могу найти конкретные слова, соответствующие моему сценарию. Но мне нужно заменить их внутри
<small>
Size: M<div class="item-devider"></div>
checkbox_test: Yes<div class="item-devider"></div>
I don't mind about color: No<div class="item-devider"></div>
test: No<div class="item-devider"></div>
test_group: select1<div class="item-devider"></div>
</small>
$('.item-devider').map(function(){
var text = this.previousSibling.nodeValue.indexOf(': No') == -1 ? undefined : this.previousSibling.nodeValue;
if(text!= undefined) {
}
});
Скрипт http://jsfiddle.net/EwNRJ/1135/
Благодарим за любую идею
Пытаться,
var texts = $('.item-devider').map(function(){
return this.previousSibling.nodeValue.indexOf(': No') > -1;
});
Этот выше код вернет div, который имеет строку в своей предыдущей позиции, которая содержит текст ': No'
А также попробуйте это тоже,
var texts = $('#sample small').contents().filter(function(){
return $(this).text().indexOf(': No') > -1;
}).wrap('<div/>');
Ты можешь сделать:
$('#sample small').contents().filter(function() {
return this.nodeType === 3 && $.trim(this.nodeValue).indexOf(': No') > -1;
}).wrap('<div class="highlight" />');
Возврат undefined
в обратном .map
удалит .map
элементы.
var texts = $('.item-devider').map(function(){
return this.previousSibling.nodeValue.indexOf(': No') == -1 ? undefined : this.previousSibling.nodeValue;
}).get();