Подтвердить что ты не робот

Найти элементы, где имя отличается от id, используя jQuery

Как написать выражение jQuery, которое найдет входные данные, где значение атрибута name отличается от значения атрибута id?

Это нужно найти

<input name="foo" id="bar" />

Это не должно быть найдено

<input name="foo" id="foo" />

Тривиальный материал, такой как $('input[name!=id]'), терпит неудачу, потому что выражение [] ожидает константу с правой стороны.

4b9b3361

Ответ 1

Вы можете сделать это, используя фильтр(). И используйте обрезку, чтобы убедиться.

Изменить простую версию

$('input').filter(function(){
    return this.id != this.name;
});

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

$('input').filter(function(){
    thisID = $.trim(this.id);
    thisName =  $.trim(this.name);
    return thisID != thisName;
});