помочь получить заголовок тега привязки с помощью jquery - PullRequest
0 голосов
/ 03 января 2011

Мне кажется, я понимаю, почему это не работает.Но пока не знаю достаточно, чтобы заставить его работать.

Сначала я создаю список, используя Jquery

var imageNumber = 42;
for (imageNumber = 1; imageNumber <= 42; imageNumber++){
  $("#thumbReelList")
    .append('<li><a title="worksImage'
    + imageNumber 
    +'" style="background: no-repeat center url(/worksImages/THMworksImage' 
    + imageNumber 
    + '.jpg)" href="#"></a></li>');
}

Затем, когда нажимается одна из этих ссылок, я беру ее заголовок и использую этот заголовок.как имя jpg для фонового изображения другого DIV.

$("#thumbReelList > li > a").click(function(){
  var imageName = $(this).attr("title");
  $("#backgroundImageBox").css({"background-image": "url(/worksImages/"+ imageName +".jpg)"});
});

Проблема, по-видимому, связана с firebug, что когда я вызываю эту функцию "click", в то время Javascript еще не генерировалАтрибут «title» для якорей.

Когда я использую «alert» для переменной imageName, он возвращает НИЧЕГО T_T

Ответы [ 2 ]

1 голос
/ 03 января 2011

Я думаю, что пробел отсутствует перед атрибутом стиля в функции добавления. Попробуйте это:

var imageNumber = 42;
for (imageNumber = 1; imageNumber <= 42; imageNumber++){
  $("#thumbReelList")
    .append('<li><a title="worksImage'
    + imageNumber 
    +' " style="background: no-repeat center url(/worksImages/THMworksImage' 
    + imageNumber 
    + '.jpg)" href="#"></a></li>');
}
0 голосов
/ 03 января 2011

Оказывается, я был прав, поэтому я просто переключил заголовки на идентификаторы, и вот рабочий код


var imageNumber = 42;
for (imageNumber = 1; imageNumber <= 42; imageNumber++){
  $("#thumbReelList")
    .append('<li><a id="worksImage'
    + imageNumber 
    +'" style="background: no-repeat center url(/worksImages/THMworksImage' 
    + imageNumber 
    + '.jpg)" href="#"></a></li>');
}


$("#thumbReelList > li > a").click(function(){
  //alert("the id of this anchor is = "+ $(this).attr("id") );
  $("#backgroundImageBox").css({"background-image": "url(/worksImages/"+ $(this).attr("id") +".jpg)"});
});
...