2015-04-04 3 views
0

у меня есть следующий HTML:JQuery - addClass не работает

<div class="b-250"> 
    <div id="c6281_701_1" class="sam-container sam-place" data-sam="1"> 
    <a id="a55_701" class="sam_ad" target="_blank" href="XYZ"> 
     <img alt="" src="XYZ"> 
    </a> 
    </div> 
</div> 

<script> 
    jQuery(document).ready(function(){ 
     console.log('try it - window ready'); 
     //jQuery('div.sam_ad').find('img').addClass('wp-post-image article- thumbnail'); 
     console.log(jQuery(".b-250").find('div')); 
     jQuery(".b-250").find('div').addClass("home-post has-post-thumbnail post"); 
     console.log('did it - window ready'); 
    }); 
</script> 

Я не могу управлять, чтобы добавить некоторые классы к элементу с классом sam_ad.

Я пробовал его в разных путях, например jQuery('.sam_ad')... или выше.

Любые подсказки?

Благодаря

ответ

2

Использование:

jQuery(".sam_ad").addClass("home-post has-post-thumbnail post");

Вместо:

jQuery(".b-250").find('div').addClass("home-post has-post-thumbnail post");

должен работать нормально.

В этом example filddle, он добавляет классы:

<a id="a55_701" class="sam_ad home-post has-post-thumbnail post" target="_blank" href="XYZ"> 

Убедитесь, что вы включили библиотеку JQuery


Если вы используете Wordpress (как это кажется вы), вы можете необходимо обернуть вас jQuery в функции готовности документа:

jQuery(document).ready(function() {   
    console.log('try it - window ready'); 
    jQuery(".sam_ad").addClass("home-post has-post-thumbnail post"); 
    console.log('did it - window ready'); 
}); 
0

Спасибо за ваш ответ, который в нормальном контексте хорошо работает.

Я узнал, что существует какая-то странная работа ajax-запроса, которая отображает .sam_ad-Object. Таким образом, функция document.ready по умолчанию не применима к объектам, потому что они не были отображены в тот момент, когда dom был готов.

поэтому я перешел на window.load, который работает отлично ..

0

Просто обновите версию JQuery в 1.12 или более поздней версии

function modify_js_cdn() { 
    if (! is_admin()) { 
     // comment out the next two lines to load the local copy of jQuery 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js', false, '1.12.4'); 
     wp_enqueue_script('jquery'); 
    } 
} 

add_action('init', 'modify_js_cdn');