检查容器是否有元素

检查容器是否有元素

我有一张表格结构如下:

<p class="elementWrap">
  <label>Name</label>
  <input class="form_elem" type="text" name="form_name">
</p>

但有时结构看起来是这样的:
<p class="elementWrap">
  <label>Phone</label>
  <input class="form_elem" type="text" name="form_phone">
  <span class="form_required">*</span>
</p>

所以它还有一个额外的跨度。
现在我想给这些标签一个跨度,它们旁边有一些jQuery样式。
我的代码:
jQuery('.elementWrap').each(function() {
  if(jQuery('span.form_required').parents(this).length == 1) {
    jQuery(this).find('label').css({'width':'auto','margin':'0px'});
  }
});

但这似乎不起作用……(我试了很多if语句,但到目前为止都没有起作用)=/

最佳答案

您可以使用.filter.children选择具有直接.elementWrap子对象的所有.form_required对象,然后在该子集中找到标签:

$(".elementWrap").filter(function() {
    return $(this).children(".form_required").length;
}).find("label").css({'width':'auto','margin':'0px'});


几乎总是有一种方法可以避免使用.each和许多if语句。

关于javascript - 检查容器是否有元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23493694/

10-11 11:33