我有一个
#popup
.filled-text
的段落。我试图让jQuery告诉我#popup
中是否有这些段落之一。
我有以下代码:
$("#text-field").keydown(function(event) {
if($('#popup').has('p.filled-text')) {
console.log("Found");
}
});
有什么建议吗?
我有一个
#popup
.filled-text
的段落。我试图让jQuery告诉我#popup
中是否有这些段落之一。
我有以下代码:
$("#text-field").keydown(function(event) {
if($('#popup').has('p.filled-text')) {
console.log("Found");
}
});
有什么建议吗?
if($('#popup').find('p.filled-text').length !== 0)
// Do Stuff
if($('#popup').has('p.filled-text').length != 0) {
也可以工作。 - Samsquanch$("#text-field").keydown(function(event) {
if($('#popup').children('p.filled-text').length > 0) {
console.log("Found");
}
});
$.children('').length
会返回与选择器匹配的子元素的数量。
.size()
返回的结果与 .length
属性相同,但速度较慢,因此应该替换为后者。 - Johannes Klauß.length
而不是.length()
。 - Johannes Klauß.length
属性不是 jQuery 库的一部分,它只是原生 JavaScript。但有时确实会让人感到困惑。 - Johannes Klauß简单的方法
if ($('#text-field > p.filled-text').length != 0)
如果您有多个具有相同类别的
$('.popup').each(function() {
if ($(this).find('p.filled-text').length !== 0) {
$(this).addClass('this-popup-has-filled-text');
}
});
$('.classone')
.find('p .classtwo')
给出子元素=p.has('p .classtwo')
给出 '.classone' 元素$("#text-field").keydown(function(event) {
if($('#popup>p.filled-text').length !== 0) {
console.log("Found");
}
});
.has(
函数。它过滤被调用的选择器--而且比使用$('.child').parent('.parent')
并可能一直运行到DOM更快。$("#text-field").keydown(function(event) {
if($('#popup').has('p.filled-text').length) {
console.log("Found");
}
});
这是一个不错的方法
if($("#your_id .your_class")) {
//Do something
});
如果(".your_class")是父元素("#your_id")的唯一子元素或者是父元素("#your_id")的第一个子元素,你也可以使用">"。
if($("#your_id>.your_class")) {
//Do something
});
("#your_id") 是父类或 ID。
(".your_class") 是你要查找的类或 ID。