#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
Я пытаюсь получить список названий ссылок со страницы Википедии. Я скачал HTML и теперь пытаюсь запустить некоторый код javascript / jquery, чтобы запустить это. Вот что у меня есть на данный момент…
var elements = $("ul > li");
alert(elements.length);
alert(elements.get(0).val());
Первое предупреждение выдает мне «505», что выглядит примерно так (таких элементов довольно много).
Мои вопросы в том, как мне фильтровать элементы $("ul > li")
также по имени класса? Допустим, конкретные элементы, которые я хочу, имеют класс «class1».
Второе предупреждение мне ничего не дает, хотя elements.get(0)
говорит мне object HTMLLIelement
, что, я думаю, хорошо. Итак, я не могу получить доступ к определенному свойству, которое я хочу (скажем, ‘title’).
Спасибо за помощь, ребята.
Комментарии:
1. Здесь вы можете найти актуальную документацию по jQuery.
Ответ №1:
Мои вопросы в том, как мне фильтровать элементы $ («ul> li») также по имени класса? Допустим, конкретные элементы, которые я хочу, имеют класс «class1».
Это все синтаксис селектора CSS.
$("ul > li.class1")
Второе предупреждение мне ничего не дает, хотя elements.get (0) сообщает мне «object HTMLLIelement», что, я думаю, хорошо.
Это потому, что .get()
возвращает простой элемент DOM, а не jQueryified. Используйте .eq()
вместо:
elements.eq(0).val();
// to get the title:
elements.eq(0).prop('title');
// or if you're using jQuery <1.6,
elements.eq(0).attr('title');
если элемент (ul> li) содержит 3 элемента «a» (link), которые мне нужны, как мне получить первый?
Комментарии:
1. О, хорошо, спасибо. Еще один вопрос: если элемент (ul > li) содержит 3 элемента «a» (link), которые мне нужны, как мне получить первый?
Ответ №2:
$ («ul > li.className») должно быть всем, что вам нужно.
Ответ №3:
как мне также отфильтровать элементы $ («ul> li») по имени класса?
$("ul > li.class1")
Чтобы получить атрибут title:
elements.eq(0).attr('title');
Комментарии:
1.
elements.get(0).attr('title');
Нет. Смотрите мой ответ.2. да, понял, что после того, как я опубликовал, я скопировал код операции вместо того, чтобы вводить его.