2016-08-31 4 views
0

У меня есть следующий HTML-код:Как получить элемент с JQuery из HTML

<ul> 
    <li>..</li> 
    <li>..</li> 
    <li> 
     <a href="#" class="most_views" data-sort="most_views"> 
      <i class="fa fa-fw"></i> 
      Most Views 
     </a> 
    </li> 
</ul> 

Мне нужно обновить HTML строку:

<i class="fa fa-fw"></i> 

с:

<i class="fa fa-fw fa-check"></i> 

Мой JQuery код:

$('a[data-sort="most_views"]').children('i').html('<i class="fa fa-fw fa-check"></i>'); 

Это не работает. Может кто-нибудь мне помочь?

ответ

0

У вас есть опечатка здесь:

$('a[data-sort="most_views"]').children('i').htlm('<i class="fa fa-fw fa-check"></i>'); 

Должно быть:

$('a[data-sort="most_views"]').children('i').html('<i class="fa fa-fw fa-check"></i>'); 

Проверьте вашу орфографию html в следующий раз.


(Шучу, это не ответ): P


Вместо .html(), сделайте следующее:

$('a[data-sort="most_views"]').children('i').addClass("fa-check"); 

Или

$('.fa fa-fw')..addClass("fa-check"); 
2

Вы должны использовать addClass:

$('a[data-sort="most_views"]').children('i').addClass('fa-check'); 

Лучше сделать так же, как это:

$('a[data-sort="most_views"] i').addClass('fa-check'); 

Использование HTML() вы Добавляя элемент, хотя вы делаете неправильный путь, как вы собираетесь добавить i элемент внутри элемента i что вы не должны делать (я даже не забочусь о опечатке htlm за html). Если вы действительно хотите заменить i элемент, вам нужно использовать:

// pretty sure you don't need this though 
$('a[data-sort="most_views"]').html('<i class="fa fa-fw fa-check"></i>'); 
0

Попробуйте:

$(document).ready(function(){ 

    $(".fa.fa-fw").addClass("fa-check"); 

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