ошибка при выборе дочерней ссылки внутри нескольких div с помощью jquery

У меня есть 4 div с классом v_block. У каждого по 2 ссылки с классом more. Я пытаюсь ориентироваться на первую ссылку только в каждом div. Вот код http://jsfiddle.net/AAznD/2/.

В реальном примере (оно отображается динамически) я пытаюсь изменить фоновое изображение ссылки, чтобы первое отображалось с широкой рамкой, а второе отображало только слово, как вы можете видеть в ссылке на снимок ниже.

он нацелен на все ссылки с классом «больше» внутри div, но отлично работает на jsfiddle

$(".v_block").each(function() {
  $(".v_block a.more:first-child").css({"background-image":"url(images/wide_more.gif)","width":"338px","height":"14px","left":"-23px"});
});

Вот снимок: http://img90.imageshack.us/img90/8687/capturemrb.jpg.

http://img90.imageshack.us/img90/8687/capturemrb.jpg.


person jq beginner    schedule 13.12.2012    source источник


Ответы (1)


Вы хотите использовать this внутри each, так как this будет конкретным div для этой итерации цикла; затем используйте find, чтобы найти a.more элементов внутри этого div.

Обновлен скрипт

$(document).ready(function(e) {
    $(".v_block").each(function() {
        $(this).find("a.more").filter(':first').css({"color":"#d31577","text-decoration":"none"});
    });
});

Вы также можете использовать first() вместо filter(":first").

$(document).ready(function(e) {
    $(".v_block").each(function() {
        $(this).find("a.more").first().css({"color":"#d31577","text-decoration":"none"});
    });
});
person T.J. Crowder    schedule 13.12.2012
comment
отлично работает большое спасибо. я все еще учусь, я очень ценю вашу помощь - person jq beginner; 13.12.2012
comment
@jqbeginner: Рад, что помог! - person T.J. Crowder; 13.12.2012