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

Селектор jQuery возвращает prevObject вместо обычного элемента

У меня есть некоторые проблемы с выбором элементов, с JQuery. Когда я пытаюсь выбрать элемент:

var images = $("#htmlChunk").find("img.Thumb");
console.log(images);

Я получаю этот результат:

>[<img>, <img>, prevObject: e.fn.e.init[1], context: #document, selector: "#htmlChunk img.Thumb"]

Что вызывает этот результат? Я пробовал некоторые вещи, но все же не получил результат, который мне нужен.

Я попытался обернуть код, чтобы избежать конфликтов. я попытался очистить объект

Это то, что я нашел в Интернете. http://drupal.org/node/272557

var images = $("#htmlChunk")['prevObject'].find("img.Thumb");

Теперь я возвращаю объект, но это также не то, что я хотел.

Я прыгнул в этот проект, поэтому я не известен с помощью script. Я попытался найти prevObject в файлах js, но не смог найти.

Я думаю, проблема в том, что она мешает другому файлу javascript. есть идеи? направления?

Изменить: htmlChunk:

<div id="htmlChunk">
    <div class="ngg-albumoverview">
        <div class="ngg-album-compact">
            <div class="ngg-album-compactbox">
                <div class="ngg-album-link">
                    <a class="Link" href="#" onclick="location.href='http://........'; return false;">
                        <img class="Thumb" alt="Personeelsevent" src="http://.........">
                    </a>
                </div>
            </div>
            <h4><a class="ngg-album-desc" title="Personeelsevent" href="#" onclick="location.href='http://.....'; return false;">Personeelsevent</a></h4>
            <p><a href="#" onclick="location.href='http:///.......'; return false;">bekijk dit album</a></p>
        </div>
    </div>
</div>
4b9b3361

Ответ 1

Ваша переменная images является объектом jQuery, поэтому то, что вы видите вывод в консоли браузера, похоже, является этим объектом. Конкретный вывод показывает, что вызов .find() фактически не соответствует любым элементам; сравните два выхода консоли с этого jsFiddle (в Chrome).

Когда вы вызываете функцию jQuery, такую ​​как .find(), .filter() и т.д., которая сужает или изменяет список совпадающих элементов в существующем объекте jQuery, результирующий объект jQuery также содержит ссылку на состояние перед тем, как эта функция была запущена, что вы видите как prevObject. Это то, что он использует, чтобы вернуться обратно, когда вы вызываете функцию .end().

Позвольте сломать ваш код:

var images = $(".htmlChunk").find("img.Thumb");

Первая часть - $(".htmlChunk") - соответствует всем элементам, которые имеют класс htmlChunk на них, и возвращает объект jQuery, содержащий эти элементы.

Затем вы вызываете .find("img.Thumb"), который ищет все элементы, которые являются потомками уже согласованных элементов (те, у которых есть класс htmlChunk), которые удовлетворяют критериям элемента <img> и имеют класс Thumb on их.

Вы можете использовать один селектор для извлечения элементов, что может дать лучшие результаты:

var images = $(".htmlChunk img.Thumb");

Если вам нужен массив фактических элементов DOM, а не объект jQuery, содержащий их, вы можете использовать функцию .get():

var elementArray = images.get();

Чтобы перейти к редактированию вопроса, чтобы включить HTML:

Вы используете $(".htmlChunk") для получения начального элемента. Однако этот элемент <div> имеет ID, а не класс, htmlChunk, поэтому код не будет выбирать нужный элемент. Вы захотите использовать следующее:

var images = $("#htmlChunk").find("img.Thumb");

Обратите внимание на #, а не на . в селекторе.

Ответ 2

Похоже, вы пытаетесь выбрать класс ".htmlChunk", но его не существует. Вместо этого попробуйте выбрать по id.

var images = $("#htmlChunk").find("img.Thumb");

Ответ 3

попробуйте это.

   function getId() {
             var ids = $(".htmlChunk").find("img.thumb"); //it wiill return array of image
             var sid = $(".htmlChunk").find("img#img2"); //it wiill return wat image you want
             $(".htmlChunk span").text("arrays:" + ids[0] + "  :  " + ids[1] +
             "simple imge:" + sid);
         }


    <input id="Button1" type="button" value="button" onclick= "getId();"/>


  <div class="htmlChunk">
        <img alt="" src="img/Desert.jpg" class="thumb" id="img1" />
       <img alt="" src="img/Chrysanthemum.jpg" class="thumb" id="img2" />
        <span></span>
   </div>

Ответ 4

не является prevObject просто свойством результата?

вы могли бы понять это как "результат имеет следующий prevObject → "