我想选择var v = {};
$('#' +formId).find('select, input, textarea'). each(function (){
var tmp;
if($(this).attr('type') == 'checkbox' || $(this).attr('radio') == 'checkbox')
{
tmp = $(this).is(':checked')?1:0;
}elseif($(this).attr('type') == 'submit'){
return;
}else{
tmp = $(this).val();
}
v[$(this).attr('id')] = tmp;
});
img
的{{1}}孩子而不是标记#boardMostra
的直接孩子。
我试过了:
a
但它没有用。
答案 0 :(得分:4)
您可以使用的唯一方法是在#boardMostra img
上设置属性并在#boardMostra a > img
上将其中和。
<div>
<img src="#" alt="#">
<a href="#"><img src="#" alt="#"></a>
</div>
div img { margin: 10px 20px; }
div a > img { margin: 0; }
<强>解释强>
为什么您的示例代码不起作用:
CSS中的not(X)属性是一个否定伪类并接受一个 简单的selector1作为参数。基本上,只是另一个选择器 任何一种。
:不匹配参数未表示的元素。的的 传递的参数可能不包含附加选择器或任何 伪元素选择器。
答案 1 :(得分:0)
#boardMostra > img , #boardMostra :not(a) > img { ... }
第一部分涉及#boardMostra的直接后代<img>
。
第二部分引用#boardMostra中所有与{em> <img>
<a>
查看示例: https://jsfiddle.net/t4snrgz6/
有些时候,您不想手动写出替代集的CSS。例如,我使用的插件具有<code>
元素的直接后代的<pre>
元素一堆CSS。我想设置<code>
不是<pre>
的直接后代的元素的样式,而不会弄乱插件的CSS 。我的解决方案允许我使用:not(pre) > code