【问题标题】:How to jQuery select a label inside a div? [duplicate]如何jQuery选择div内的标签? [复制]
【发布时间】:2016-12-08 07:31:53
【问题描述】:

我的 dom 看起来像这样:

<div class="edit-section slideDown">
  <form>
  <div class="info-header">
    <div class="acct-section-title clearfix">
      <h3 class="acct-section-title-txt pull-left">Meals</h3>
      <button type="button" class="pull-right btn-close icon-close"></button>
    </div>
  </div>
  <div id="flash-msg"></div>


  <ul class="info-list info-list-form">

    <div class="col-sm-4 info-label"><label for="delivery_name">Name</label></div>
    <div class="col-sm-8 info-value">
      <div class="form-group mb-0">
        <input type="text" name="delivery_name" id="delivery_name" class="form-input">
      </div>
      ...

如何使用jQuery检查底部输入是否有dom元素:

&lt;label for="delivery_name"&gt;Name&lt;/label&gt;

最好的检查方法是什么?

$('.edit-section') 让我获得了外部元素,但是我如何获得标签标签?

【问题讨论】:

    标签: jquery jquery-selectors


    【解决方案1】:

    你可以使用 find 。

    检查以下sn-p

    console.log($(".edit-section").find("label[for =delivery_name]").text());
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="edit-section slideDown">
    
      <div class="info-header">
        <div class="acct-section-title clearfix">
          <h3 class="acct-section-title-txt pull-left">Meals</h3>
          <button type="button" class="pull-right btn-close icon-close"></button>
        </div>
      </div>
      <div id="flash-msg"></div>
    
    
      <ul class="info-list info-list-form">
    
        <div class="col-sm-4 info-label">
          <label for="delivery_name">Name</label>
        </div>
        <div class="col-sm-8 info-value">
          <div class="form-group mb-0">
            <input type="text" name="delivery_name" id="delivery_name" class="form-input">
          </div>
    
        </div>

    【讨论】:

    • 和:$('.edit-section label[for="delivery_name"]')是一样的吗
    • 是的,它是一样的....find 正在寻找编辑部分中的孩子
    【解决方案2】:

    如何获取标签标签?

    最直接的方法是:

    $('label[for="delivery_name"]');
    

    如何使用jQuery检查底部输入是否有标签?

    如果$('label[for="delivery_name"]').length &lt; 1,则不存在。

    【讨论】:

      【解决方案3】:

      您需要使用findclosest 函数。

      请试试这个:

      $('#delivery_name').closest('ul').find('label')
      

      【讨论】:

      • find 是否与此相同但隐含? $('.edit-section label[for="delivery_name"]')
      • @Jwan622,是的。 .find() 方法允许我们在 DOM 树中搜索这些元素的后代,并从匹配的元素中构造一个新的 jQuery 对象。
      • 另外,closest() 函数非常有用,例如当你有很多 info-list 类时。
      【解决方案4】:

      您可以直接定位标签$('.edit-section label[for="delivery_name"]')

      【讨论】:

        【解决方案5】:

        您可以使用 jQuery 直接访问 delivery_name。

        $('#delivery_name')

        此处的文档:https://api.jquery.com/

        【讨论】:

        • 鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。
        猜你喜欢
        • 2018-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-12
        • 1970-01-01
        • 2011-10-04
        • 1970-01-01
        • 2012-02-08
        相关资源
        最近更新 更多