栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jQuery检查元素是否具有内联定义的特定样式属性

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jQuery检查元素是否具有内联定义的特定样式属性

这是我放在一起的一个非常简单(可能需要改进)的插件,它将为您提供内联样式属性的值(

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");

这是一个有效的例子。

请注意,它只会返回匹配集中 第一个元素 的值。

由于

undefined
在找不到该样式属性时它会返回,因此可以在如下情况下使用它:

if (base.$element.inlineStyle("width")) {    // It has a `width` property!}

更新资料

这是一个简短得多的版本。我意识到

prop("style")
返回一个对象,而不是字符串,并且该对象的属性与可用的样式属性相对应。因此,您可以执行以下操作:

(function ($) {    $.fn.inlineStyle = function (prop) {        return this.prop("style")[$.camelCase(prop)];    };}(jQuery));

您可能想

$.camelCase
用自定义的驼峰函数来代替对的使用,因为jQuery似乎没有文档记录,可能不好依赖。我只是在这里用它,因为它更短。

这是一个可行的例子。请注意,在这种情况下,如果在元素上找不到样式,则返回值将为空字符串。该结果仍将为

false
,因此上述
if
声明仍然有效。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号