Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery:如果存在具有正确名称的子级,则应用jquery.css规则_Jquery_Css_Parent Child_Children_Radiobuttonlist - Fatal编程技术网

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,请使用选择器。但我认为我的剧本更好地涵盖了期望的行为