Найти тег с идентификатором, включая [] с помощью Nokogiri
У меня есть элемент html, например:
<div id="spam[500]">
Я хочу найти этот элемент по id, но кажется, что nokogiri путается с помощью []. Я пытаюсь:
doc.css("#spam[#{eggs.id}]")
но безрезультатно.
Ответ 1
Крис, попробуйте это и сообщите мне, если это работает:
doc = Nokogiri::HTML(page)
el = doc.xpath("//div[@id='spam[500]']").first
Проблема в том, что вы не можете получить к ней доступ через CSS (даже в браузере). Попробуйте установить некоторые атрибуты CSS для "спама [500]", и они не будут применяться. Однако вы можете получить доступ через xpath, как показано выше.
Ответ 2
Настоящая проблема заключается в том, что символы [и] являются незаконными в атрибуте id4 HTML4 (или XML) - посмотрите на следующее: