Vanilla JS получает все ссылки в пределах диапазона, используя цикл XPath и foreach

  • Автор темы IrineS
  • 31
  • Обновлено
  • 12, May 2024
  • #1
Привет всем, я не могу заставить этот код работать:
 var links = doc.DocumentNode.SelectSingleNode("/html/body/div[1]/div/div[4]/div/div/div[2]/div[2]/span[1]");

foreach (HtmlNode item in table.SelectNodes("http://span[1]/descendant::a[starts-with(@href,'/photo')]"))

{

console.log("test");

}
Код (JavaScript): Он постоянно говорит мне:

Но, как я уже сказал выше, я просто получаю эту ошибку JS. Я даже не уверен, что моя логика XPATH правильна, поскольку я не могу передать эту ошибку и продолжить... Помощь была бы отличной!

IrineS


Рег
01 Jan, 2011

Тем
1

Постов
1

Баллов
11
  • 21, May 2024
  • #2
Вы на 100% уверены, что консоль указывает на ошибку? Тем не менее, ой, эта несемантическая тарабарская разметка выглядит крайне плохо.

Особенно с мусором в виде ярлыков aria, который в основном там, потому что вы «используете неправильную разметку». НЕ то чтобы все это выглядело как реальный контент LABEL или теги IMG.

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

Не надо Не могу даже рассказать мне о чуши XPATH, которая берет что-то простое — захват некоторых элементов — и усложняет это до небес. Но это трудно сказать, не зная, чего это вообще пытается достичь.

Опять же, я бы рискнул предположить, что с такой дрянной разметкой вы, скорее всего, чрезмерно полагаетесь на JavaScript, возможно, зря. Даже само наличие интервала вокруг элементов, содержащих DIV, похоже на то, что вы еще недостаточно знаете HTML, чтобы играть с JavaScript.
 

Alex_Singer


Рег
04 Mar, 2012

Тем
0

Постов
2

Баллов
2
Тем
49554
Комментарии
57426
Опыт
552966

Интересно