Kid Koder 2 Ответов: 2

Как сравнить, если два разных HTML-элемента возвращают один и тот же результат?


Я искал способ сделать это. посмотрим, если два различн HTML-элементы можно сравнить, чтобы увидеть, имеют ли они тот же результат.

напр..
compare("<span class="class1"></span>", "<span class="class2"></span>")
будет возвращаться true. Но
compare("<b class="class1"></b>", "<b>class="class2"></b>")
будет возвращаться false.

ЗАПИСКА: Притворись, что class1 и class2 у вас нет CSS-кода.

Есть ли какой-нибудь API, который может сделать это для меня?

Что я уже пробовал:

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

2 Ответов

Рейтинг:
2

Sandeep Mewara

Там может быть несколько способов, один из них с использованием: Node.isEqualNode()

Ссылка: Node.isEqualNode() - веб-API | MDN[^]

Цитата:
Метод Node.isEqualNode() проверяет, равны ли два узла. Два узла равны, когда они имеют один и тот же тип, определяющие характеристики (для элементов это будет их идентификатор, количество дочерних элементов и т. д.), Его атрибуты совпадают и т. д. Конкретный набор точек данных, которые должны совпадать, зависит от типов узлов.


Пример использования:
var isEqualNode = node.isEqualNode(otherNode);


Рейтинг:
1

W∴ Balboos, GHB

Если вы используете класс просто как флаг для сравнения двух элементов, почему бы не использовать что-то именно для этой цели? Вы не сказали, как вы выбрали два элемента для начала - поэтому я предполагаю, что вы дали им каждому "идентификатор", который всегда отличается, или ваша страница будет испорчена.

E.g.:
<element1 myflag='something'      id='e1'>
<element2 myflag='also-something' id='e2'>

Now you can use:
document.getElementById('e1').getAttribute('myflag') to retrieve the attributes for the elements:  Just compare the strings!


Это делает два предположения, верхний параграф, и если одно из них неверно, вам нужно будет адаптироваться (возможно, сделать их истинными?). Не забывайте: сравнение строк чувствительно к регистру, если вы не принимаете это во внимание.