Как я могу найти #[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>";
}
}
Прежде всего вы используете 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");
}
Вам нужно использовать 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");
}
});