Мой селектор jQuery возвращает HTML-тег и его содержимое, но я не могу получить только содержимое

0

Я пытаюсь получить доступ ко всем видимым значениям на моей странице, заключенной в теги span. Я использую селектор $(rows[i]).find("span:visible")[0] ([i] потому что я выполняю итерацию через массив), и я возвращал такой набор:

<span class=​"size">​7​</span>​
<span class=​"size">​29​</span>​
<span class=​"size">​14​</span>​

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

$(rows[i]).find("span:visible")[0].innerHTML

$(rows[i]).find("span:visible")[0].text

$(rows[i]).find("span:visible")[0].textContent

$(rows[i]).find("span:visible")[0].html

или любой другой селектор, который, как мне кажется, должен работать, я возвращаю "undefined" или "не могу получить свойство X неопределенных" ошибок.

Что я должен здесь использовать?

  • 1
    попробуйте вместо этого $ ($ (row [i]). find ("span: visible") [0]). text ()?
  • 0
    Вы пробовали $(rows[i]).find("span:visible").html()
Теги:

3 ответа

0

Это должно работать... и это работает:

console.log($(".1").find("span:visible")[0]); //logs the first span
console.log($(".1").find("span:visible")[0].text); //logs the text content of the first span

//in a loop - logs the content of each span in jm
$(".1").find("span:visible").each( function() {
    console.log($(this).text());
});

Я ожидаю, что там где-то в вашем коде есть опечатка, которую вам придется найти и исправить.

0

Селектор получает вам набор jQuery соответствующих интервалов. Используя [0] и такие на нем, вы получаете необработанный элемент DOM. Если вам нужен текст каждого отдельного интервала, используйте .eq(x).text():

var spans = $(rows[i]).find("span:visible");
console.log("Text of first matching span: " + spans.eq(0).text());
console.log("Text of second matching span: " + spans.eq(1).text());
// ...

Или в цикле:

$(rows[i]).find("span:visible").each(function(index) {
    console.log("Text of span " + index + ": " + $(this).text());
});
0

вы можете использовать

$(rows[i]).find("span:visible")[0].html();

ИЛИ

$(rows[i]).find("span:visible")[0].text();

или

$(rows[i]).find("span:visible")[0].get().innerHTML;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню