2016-05-11 2 views
0

Я пытаюсь добавить div динамически на основе текста родительского div.Использование Jquery для добавления div динамически на основе текста

Мой HTML является:

<div class="listing_detail col-md-4"><strong>Living Room:</strong> Yes</div> 
<div class="listing_detail col-md-4"><strong>Kitchen:</strong> No</div> 

Так что я хочу, чтобы быть DIV вставить таким образом, что если ДА, <div class="fa fa-check"></div> следует добавить непосредственно перед <strong> и, если <div class="fa fa-cross"></div> должны быть добавлены.

Используя jQuery ниже, мне удалось добавить класс в <div class="listing_detail col-md-4">, однако я не могу понять, как добавить div.

JQuery:

$('.listing_detail:contains("Yes")').closest('.listing_detail').addClass('yes'); 

Fiddle

+0

Вы генерации HTML-кода? Если да, вы должны делать это там, когда рендеринг, а не на стороне клиента. –

ответ

2

.prepend() Использование:

$('.listing_detail:contains("Yes")').prepend('<div class="fa fa-check"></div>'); 

Это приведет:

<div class="listing_detail col-md-4"><div class="fa fa-check"></div><strong>Living Room:</strong> Yes</div> 
+0

К сожалению, если я перезаписал любое ваше редактирование, просто '.closest ('. Listing_detail')' не имеет значения здесь –

+0

@ A.Wolff - не беспокойтесь, я просто переформатировал его, чтобы он не был на одной линии – j08691

0

prepend() должен выполнить работу. DEMO

В приведенном ниже примере, если .listing_detail ДИВ содержит класс да, он собирается перед именем проверка DIV в качестве первого ребенка в этом т.е. случае это будет PREPEND перед сильными.

$('.listing_detail:contains("Yes")').prepend('<div class="fa fa-check"></div>'); 
-1

Используйте JQuery .prepend()

$('.listing_detail:contains("Yes")').closest('.listing_detail').addClass('yes').prepend('<div class="fa fa-check"><input type="checkbox"> Check me</div>'); 

Fiddle

EDIT: сделал ошибку с до/после

+0

realy realy не понимаю, почему мой ответ был опущен даже без какой-либо аргументации? .. Я потратил свое время, чтобы помочь, и, наконец, получить нижний план? Просто почему?. Спасибо. – IonS

+0

Проверьте свой собственный код. Вы добавили div после того, как сильный элемент и OP запросили раньше. – j08691

+0

МММ, хорошо, согласен. Была ошибка языка. Прошу прощения за ошибку, которую я сделал, английский - не мой родной язык – IonS

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