大佬教程收集整理的这篇文章主要介绍了jQuery检查元素是否具有内联定义的特定样式属性,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我要找的属性是宽度。
如果元素没有定义的宽度,我试试这个:
if(base.$element.css('width') !== 'undefined')
我得到浏览器的计算宽度。
(function ($) { $.fn.inlinestyle = function (prop) { var styles = this.attr("style"),value; styles && styles.split(";").forEach(function (E) { var style = e.split(":"); if ($.trim(style[0]) === prop) { value = style[1]; } }); return value; }; }(jQuery));
你可以这样调用:
//Returns value of "width" property or `undefined` var width = $("#someElem").inlinestyle("width");
请注意,它只返回匹配集中第一个元素的值。
因为当未找到该样式属性时,它返回未定义,所以可以在您的情况下使用它,如下所示:
if (base.$element.inlinestyle("width")) { // It has a `width` property! }
更新
这里有一个@R_12_10584@的版本。我意识到prop(“style”)返回一个对象,而不是一个字符串,该对象的属性对应于可用的样式属性。所以你可以这样做:
(function ($) { $.fn.inlinestyle = function (prop) { return this.prop("style")[$.camelCase(prop)]; }; }(jQuery));
你可能想用一个自定义camelcase函数替换$ .camelCase的使用,因为jQuery一个似乎是无证的,可能不好靠。我只是在这里使用它,因为它更短。
这是一个working example的那一个。注意,在这种情况下,如果在元素上找不到样式,返回值将是空字符串。这仍然会评估为false,所以上面的if语句仍然应该工作。
以上是大佬教程为你收集整理的jQuery检查元素是否具有内联定义的特定样式属性全部内容,希望文章能够帮你解决jQuery检查元素是否具有内联定义的特定样式属性所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。