Найти #ID из обработчика с помощью jQuery

Как я могу найти #[ID] используя jQuery?

У меня есть обработчик, который проверяет некоторую информацию, я проверяю с помощью jQuery, если найден идентификатор …
Но это всегда возвращает «Ничего», и это дает мне ошибки, так что это означает, что есть ошибки!

Я делаю это таким образом …

JQuery:

posting.done(function(data){
var warnings = $(data).find('.warnings');

$('form#gastenboek').append(data);

if (warnings.length > 0) {
alert("errors")
} else {
alert("Nothing");
}
});

Обработчик:

if (!empty($warning) && isset($warning))
{
foreach($warning as $warning)
{
echo "<span id='warnings' style='color:orange;' class='glyphicon glyphicon-flag'></span><a style='color:orange;'>" . $warning . "</a><br>";
}
}

0

Решение

Прежде всего вы используете attr() метод в неправильном месте, так как он должен содержать атрибут в качестве первого аргумента. И так как нет элемента, который имеет атрибут #warnings, вы будете получать null,

Во-вторых, может быть только один элемент в DOM с определенным id, если вы не укажете это как массив, предоставляя [] с идентификатором. Так что поиск DOM с .find() вернет только первый соответствующий элемент.

Следовательно, вы должны реализовать class предупреждения на элементы, которые ваши data возвращается. Тогда используйте jQuery’s .find() который ищет элементы, имеющие этот конкретный предупреждения учебный класс:

var warnings = $(data).find('.warnings');

if(warnings.length > 0){
alert("warnings");
} else {
alert("nothing");
}
1

Другие решения

Вам нужно использовать find()

var warnings = $(data).find('#warnings');

Замечания : Id должен быть уникальным, использовать class вместо

PHP:

if (!empty($warning) && isset($warning))
{
foreach($warning as $warning)
{
echo "<span style='color:orange;' class='glyphicon glyphicon-flag warnings'></span><a style='color:orange;'>" . $warning . "</a><br>";
//                                                                 --^-- adding class
}
}

JQuery:

posting.done(function(data){
var warnings = $(data).find('.warnings');

$('form#gastenboek').append(data);

if (warnings.length > 0) {
//           --^-- getting count of elements
alert("warnings")
} else {
alert("Nothing");
}
});
0

По вопросам рекламы [email protected]