我有一张表格结构如下:
<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/