繁体   English   中英

检查div是否具有Elements且不具有某些Elements

[英]Check if div has Elements and does not have certain Elements

我已经打开了一个类似的线程,但条件是div中没有​​第二个Element。 所以我的最后一个问题是:

我有一些看起来像这样的代码

<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的Labels上。 我想过类似返回子级.form_required的长度而不是输入类型radio的事情。 但是不知道如何将其编写为代码。 = /

$(".elementWrap").filter(function() {
    var has_required = $(this).children(".form_required").length > 0,
        no_radio    = $(this).find(':radio').length < 1;

    return has_required && no_radio;
})

从Jquery Docs:

<!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>

http://api.jquery.com/has/

$(".elementWrap:has(.form_required)").filter($(".elementWrap:not(:has(:radio))"))

已知$one.filter($two)$one.filter($two) $one ∩ $two

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM