我已经打开了一个类似的线程,除了div没有第二个元素的条件。 所以我的上一个问题是:
我有一些看起来像这样的代码
<p class="elementWrap">
<label>Phone</label>
<input class="form_elem" type="text" name="form_phone">
<span class="form_required">*</span>
</p>
有时喜欢这个
<p class="elementWrap">
<label>Name</label>
<input class="form_elem" type="text" name="form_name">
</p>
rgraham发布了这个解决方案,效果很好
$(".elementWrap").filter(function() {
return $(this).children(".form_required").length;
}).find("label").css({'width':'auto','margin':'0px'});
但是现在我不想在具有Radio类型的输入的标签上应用此代码。 我想过像返回孩子的长度.form_required而不是输入类型无线电。但不知道如何将其写为代码。 = /
答案 0 :(得分:1)
$(".elementWrap").filter(function() {
var has_required = $(this).children(".form_required").length > 0,
no_radio = $(this).find(':radio').length < 1;
return has_required && no_radio;
})
答案 1 :(得分:0)
来自Jquery文档:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>has demo</title>
<style>
.full {
border: 1px solid red;
}
</style>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<ul>
<li>Does the UL contain an LI?</li>
</ul>
<script>
$("ul").append("<li>" +
( $("ul").has("li").length ? "Yes" : "No" ) +
"</li>");
$("ul").has("li").addClass("full");
</script>
</body>
</html>
答案 2 :(得分:0)
$(".elementWrap:has(.form_required)").filter($(".elementWrap:not(:has(:radio))"))
知道$one.filter($two)
≅$one ∩ $two