нацеливание на первый элемент содержимого, загруженного ajax - PullRequest
0 голосов
/ 12 мая 2011

Я хочу изменить CSS 1-го загруженного ajax-элемента, поэтому в функции обратного вызова (функция (arrayOfNewElems)) у меня есть следующее:

ajax stuff etc. },function(arrayOfNewElems){
var $newElements = $(arrayOfNewElems);
$newElements.find('div.chunk:first').css('border-top-color', 'black');

, что на мой взгляд нубу кажется правильным, но, очевидно, это не такИтак, какие-либо предложения?

* обновить с большим кодом:

$(function() {
        // Infinite Scroll plugin, copyright: Paul Irish & dirkhaim
        $('div.autopager').infinitescroll({
            debug           : true,
            nextSelector    : "div.nav a.nxt",
            navSelector     : "div.nav",
            contentSelector : "div.autopager",
 itemSelector    : "div.autopager > .chunk",
   bufferPx     : 1400
        },function(arrayOfNewElems){
        var $newElements = $(arrayOfNewElems);
        $newElements.find('div.chunk:first').css('border-top-color', 'black');
    setTimeout(function() {
                                                        $newElements.find('.audio').each(function(){
                                var audioID = $(this).attr("id");
                                $.ajax({
                                    url: '/api/read/json?id=' + audioID,
                                    dataType: 'jsonp',
                                    timeout: 4000,
                                    success: function(data){
                                        $('.audio .player span').html('<div class="audio_player">' + data.posts[0]['audio-player'] +'</div>');
                                    }
                                });
                            });
                        }, 2000);

таргетинг правильный, например, если я придерживаюсь одного из:

$('div.chunk:first').css('border-top-color', 'red');

$('div.chunk').css('border-top-color', 'red');

вещьработает, так что это наводит меня на мысль, что может быть что-то не так с материалом "$ newElements.find", или я здесь упускаю что-то более фундаментальное

1 Ответ

0 голосов
/ 12 мая 2011

вы можете попробовать css('border-top', '1px solid #000000'); возможно, еще нет границы для цвета.Если нет, не могли бы вы предоставить HTML-код, с которым вы работаете?

// EDIT: для чего это нужно?

$('div.chunk', $newElements).first().css('border-top-color', 'black');

Я думаю, нам здесь также нужен материал 'ajax'часть кода и, возможно, пример возвращаемых данных.Поскольку использование $ newElements.find ('div.chunk') означает, что внутри $ newElements должен быть div с классом chunk, я не уверен, что вы этого хотите, возможно, вы просто захотите сделать $('div.chunk:first').css('border-top-color', 'black');

// EDIT2:

В документации сказано, что в рамках обратного вызова this ссылается на новый контент DOM.Так что насчет попытки $('div.chunk', this).first().css('border-top-color', 'black');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...