JQuery, как выбрать IMG SRC внутри HREF - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть простой HTML, который выглядит так:

<div class="img">
      <a target="_blank" href="kl_big.htm" id="turn-of-cloth-01_lg">
      <img src="images/galery/turn-of-cloth-01_lg.jpg"   width="110" height="90" />
      </a>
      <div class="desc">Add a description of the image here</div>
    </div>

у меня как 20 комплектов этого div с разными идентификаторами, теперь href id с этим

$(document).ready(function(){
    $('a').click(function (event){

        event.preventDefault();
        var linkID =$(this).attr("id"); 
    });
});

Я не знаю, что такое id объекта img, но мне нужно получить его значение src. Я пытался с Jquery, как это:

var imgSrcVal = $(this).siblings("img").attr("src");

но без результата, также пытались внутри события click, но снова без результатов:

imgSrcVal = this.nextSibling.src;   

что я тут не так делаю?

Ответы [ 4 ]

6 голосов
/ 03 декабря 2011

<img> - это не брат, а дочерний элемент привязки.

Попробуйте вместо этого:

$('a').click(function (event){
    var linkID = $(this).attr("id"); 
    var imgSrcVal = $('img', this).attr("src");
    //alert(imgSrcVal);
    return false;
})

Простая демонстрация JSFiddle .

3 голосов
/ 03 декабря 2011

Я думаю, это то, что вы хотите.Изображение является дочерним по отношению к тегу привязки, а не родным братом.

  $('a').click(function (event){
        event.preventDefault();
        var linkID =$(this).attr("id"); 
         alert($(this).children('img').attr('src'))
    });

Проверьте эту скрипку

3 голосов
/ 03 декабря 2011

img является вложенным, поэтому используйте .find() или .children().

var imgSrcVal = $(this).find("img").attr("src");
  • .find() просматривает всех потомков

  • .children() смотрит только на прямых потомков


Или с родными методами DOM:

var imgSrcVal = this.getElementsByTagName('img')[0].src;

[0] потому что getElementsByTagName возвращает массивоподобную коллекцию.Так [0] получает первый найденный элемент.

2 голосов
/ 03 декабря 2011

тег img в этом примере - это не брат a, а ребенок.Таким образом, чтобы получить значение атрибута src, вам нужно сделать $(this).children("img").attr("src")

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