使用jQuery,我怎么说'#parent的孩子是否有stlye =“width”'。
我知道开始...
jQuery('#parent').children();
但我不知道怎么写风格'宽度'。
修改
在html中div表示style =“width = xxx”。我想找到第一次出现的宽度并添加一个边距:0 auto;那个div。它用于集中视频。
一些说风格=“宽度”的div是从顶部嵌套的3个级别。这仍然适用于.children()
对吗?
出于某种原因,我无法获得以下任何代码......
答案 0 :(得分:3)
您需要使用"attribute contains" selector:
描述:选择具有指定属性的元素,其值包含给定的子字符串。
jQuery('#parent [style*="width:"]')
这将为#parent
的孩子提供width:
属性中的字符串style
。
示例:http://jsfiddle.net/ambiguous/vpdGa/1/
如果您需要担心border-width
和类似的CSS属性,那么您可以添加regular expression selector:
jQuery.expr[':'].regex = function(elem, index, match) {
var matchParams = match[3].split(','),
validLabels = /^(data|css):/,
attr = {
method: matchParams[0].match(validLabels) ?
matchParams[0].split(':')[0] : 'attr',
property: matchParams.shift().replace(validLabels,'')
},
regexFlags = 'ig',
regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags);
return regex.test(jQuery(elem)[attr.method](attr.property));
}
然后搜索:
jQuery('#parent :regex(style,(^|\\s)width:)')
不要忘记额外的反斜杠来超越字符串文字的反斜杠解释。
这种方法的一个例子:http://jsfiddle.net/ambiguous/vpdGa/4/
答案 1 :(得分:2)
尝试css():
var width = $(element).css('width')
答案 2 :(得分:0)
答案 3 :(得分:0)
使用prop()
方法,如下所示:http://api.jquery.com/prop/
答案 4 :(得分:0)
function checkStyleAttr(elSelector,attr){
return new RegExp('[^-]'+attr+'[ ]*:').test($(elSelector).attr('style'));
}