jquery:如果存在具有正确名称的子级,则应用jquery.css规则
好的,我想使用jquery:如果存在具有正确名称的子级,则应用jquery.css规则,jquery,css,parent-child,children,radiobuttonlist,Jquery,Css,Parent Child,Children,Radiobuttonlist,好的,我想使用 $('div#superid:nth-child(2)').css('margin-left', '10px'); 一切顺利,我已经达到了目标。但是,我希望只有当这个div至少包含一个名为superchild的输入无线电时,才应用该规则。 因此,上述规则应适用于: <div id="superid"> <div>some text </div> <div> <input type="radio"
$('div#superid:nth-child(2)').css('margin-left', '10px');
一切顺利,我已经达到了目标。但是,我希望只有当这个div至少包含一个名为superchild的输入无线电时,才应用该规则。
因此,上述规则应适用于:
<div id="superid">
<div>some text
</div>
<div>
<input type="radio" name="superchild" value="2010">
<input type="radio" name="superchild" value="2010">
</div>
</div>
一些文本
因为它至少有一个带有name=“superchild”
最好的方法是什么?您也可以使用过滤方法。
var div = $('div#superid:nth-child(2)');
if (div.find('input[name="superchild"]').length) {
div.css('margin-left', '10px');
}
下面的脚本选择#superid div
中的每个div
,该div至少有一个类型为radio和name superchild的输入字段。然后将所需的css添加到所选的div中
$('div#superid > div').filter( function(index,elem) {
return $(this).find('input[type=radio][name=superchild]').length > 0;
}).css('margin-left', '10px');
如果只想将此样式添加到第二个div,请使用选择器。但我认为我的剧本更好地涵盖了期望的行为