Подтвердить что ты не робот

JQuery выберите img с помощью src

Я хочу выбрать изображение (с jQuery) атрибутом src. Изображение находится внутри ul и коллекции div. Идентификатор ul является "сортируемым".

Вот мой HTML:

<ul id="sortable">
  <li id="pic_0">
    <div class="sortEleWrapper">
      <div class="imgWrapper">
        <img src="/test1.jpg">
      </div>
      <input type="text" name="picText" id="picText" value="""" style="width:105px;color:#aaa" class="sortInput">
    </div>
    <input type="hidden" id="picSrc" name="picSrc" value="/test1.jpg">
  </li>
</ul>

и др.

и вот мой js:

if($('#sortable').find('img[src="/test1.jpg"]').length > 0){
    alert('img exists');
}else{
    alert('img doesnt exists');
}

Моя проблема в том, что они не находят никакого изображения. Но если я напишу js следующим образом:

if($('img[src="/test1.jpg"]').length > 0){
    alert('img exists');
}else{
    alert('img doesnt exists');
}

чтобы найти изображение.

4b9b3361

Ответ 1

Я не уверен, почему разница, но попробуйте использовать атрибут $= заканчивается на селектор.

Кажется, работает.

Пример: http://jsfiddle.net/bTf7K/

$('#sortable').find('img[src$="/test1.jpg"]')

EDIT: Разница может иметь какое-то отношение к методу получения значения атрибута, которое jQuery использует в разное время.

Использование собственных методов:

element.getAttribute("src") // returns the actual value that was set

element.src // returns the value but with the full domain path

Итак, я предполагаю, что jQuery использует оба из них в разное время.