Я пишу приложения с ASP.NET MVC. В отличие от традиционного ASP.NET вы несете большую ответственность за создание всех идентификаторов на вашей сгенерированной странице. ASP.NET даст вам неприятные, но уникальные идентификаторы.
Я хотел бы добавить небольшой скрипт jQuery, чтобы проверить мой документ на наличие повторяющихся идентификаторов. Это могут быть идентификаторы DIVS, изображений, флажков, кнопок и т. Д.
<div id="pnlMain"> My main panel </div>
<div id="pnlMain"> Oops we accidentally used the same ID </div>
Я ищу утилиту типа "набор и забыл", которая просто предупредит меня, когда я сделаю что-то неосторожное.
Да, я бы использовал это только во время тестирования, и альтернативы (например, плагины firebug) тоже приветствуются.
var ids = $('[id=\''+this.id+'\']');
поэтому оно работает с точками и другими странностями в идентификаторах.Эта версия несколько быстрее, и вы можете скопировать ее на кнопку закладки, чтобы сделать ее букмарклетом.
источник
javascript:(function () { var ids = {}; var found = false; $('[id]').each(function() { var id = this.getAttribute('id'); if (id && ids[id]) { found = true; console.warn('Duplicate ID #'+id); } ids[id] = 1; }); if (!found) console.log('No duplicate IDs found'); })();
было бы лучше.У меня большая страница, поэтому сценарий работает слишком медленно, чтобы завершить его (несколько сообщений «продолжить сценарий»). Это прекрасно работает.
источник
$x("//*[@id='duplicated-id']")
) в консоли для запроса элементов с повторяющимися идентификаторами.Вам следует попробовать HTML Validator (расширение Firefox). Он обязательно скажет вам, что на странице есть повторяющиеся идентификаторы и многое другое.
источник
Почему бы вам просто не проверить свой html?
Двойные идентификаторы не допускаются, и обычно вы получаете ошибку синтаксического анализа.
источник
Еще один способ поиска дубликатов, но это добавит класс ошибки, поэтому он будет иметь красный текст:
источник
Главный ответ jQuery, переписанный на ES6:
источник
Это может помочь. Он предупредит все идентификаторы элементов с дубликатами.
источник
Мне это нравится, потому что он выводит на консоль фактические элементы. Это упрощает расследование того, что происходит.
}
источник
Вы можете использовать это решение, которое распечатает в консоли список повторяющихся идентификаторов, если таковые имеются.
Вы можете запустить код прямо в консоли (скопировать / вставить) после загрузки DOM и не требует дополнительной зависимости, такой как jQuery.
Вы можете использовать его, чтобы быстро обнаруживать возможные ошибки в разметке HTML.
Пример:
https://jsbin.com/cigusegube/edit?html,console,output
(здесь код добавляется перед закрытием
body
тега)источник
Я создал функцию, в которой вы можете проверять конкретный элемент, ища повторяющиеся идентификаторы внутри или на всей странице:
источник