如何使用jQuery找到#[ID]
?
我有一个处理程序,检查一些信息,我正在检查与jQuery如果有发现一个ID…但它总是返回"没有",它给我错误,所以这意味着有错误!
我是这样做的…
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
。
id
,除非您通过向[]
提供id将其指定为数组。所以用.find()
搜索DOM只会返回第一个匹配的元素。
因此,您应该对data
返回的元素实现class
警告。然后使用jQuery的.find()
搜索具有特定警告类的元素:
var warnings = $(data).find('.warnings');
if(warnings.length > 0){
alert("warnings");
} else {
alert("nothing");
}
您需要使用 find()
var warnings = $(data).find('#warnings');
注意: Id
必须是唯一的,使用class
代替
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");
}
});