我在应用的样式时遇到了麻烦!important
。我试过了:
$("#elem").css("width", "100px !important");
这 什么都不做 ;
不会应用任何宽度样式。有没有一种类似jQuery的方式来应用这种样式而不必覆盖cssText
(这意味着我需要先对其进行解析,等等)?
编辑
:我应该补充一点,我有一个样式表,该!important
样式表中有我要用!important
内联样式覆盖的样式,因此使用.width()
等不起作用,因为它被我的外部!important
样式覆盖。
此外,将覆盖以前的值的值 进行计算 ,所以我不能简单地创建另一个外部风格。
这些答案大多数现在已经过时,IE7支持不再是问题。
支持IE11 +和所有现代浏览器 的最佳方法是:
const $elem = $("#elem");
$elem[0].style.setProperty('width', '100px', 'important');
或者,如果需要,您可以创建一个小型jQuery插件来执行此操作。该插件css()
在其支持的参数中紧密匹配jQuery自己的方法:
/**
* Sets a CSS style on the selected element(s) with !important priority.
* This supports camelCased CSS style property names and calling with an object
* like the jQuery `css()` method.
* Unlike jQuery's css() this does NOT work as a getter.
*
* @param {string|Object<string, string>} name
* @param {string|undefined} value
*/
jQuery.fn.cssImportant = function(name, value) {
const $this = this;
const applyStyles = (n, v) => {
// Convert style name from camelCase to dashed-case.
const dashedName = n.replace(/(.)([A-Z])(.)/g, (str, m1, upper, m2) => {
return m1 + "-" + upper.toLowerCase() + m2;
});
// Loop over each element in the selector and set the styles.
$this.each(function(){
this.style.setProperty(dashedName, v, 'important');
});
};
// If called with the first parameter that is an object,
// Loop over the entries in the object and apply those styles.
if(jQuery.isPlainObject(name)){
for(const [n, v] of Object.entries(name)){
applyStyles(n, v);
}
} else {
// Otherwise called with style name and value.
applyStyles(name, value);
}
// This is required for making jQuery plugin calls chainable.
return $this;
};
// Call the new plugin:
$('#elem').cssImportant('height', '100px');
// Call with an object and camelCased style names:
$('#another').cssImportant({backgroundColor: 'salmon', display: 'block'});
// Call on multiple items:
$('.item, #foo, #bar').cssImportant('color', 'red');
问题内容: 我在应用的样式时遇到了麻烦。我试过了: 这 什么都不做 ; 不会应用任何宽度样式。有没有一种类似jQuery的方式就可以应用这种样式而无需覆盖(这意味着我需要先对其进行解析等)? 编辑 :我应该补充一点,我有一个样式表,该样式表中有我要用内联样式覆盖的样式,因此使用等不起作用,因为它被我的外部样式覆盖。 此外,将覆盖以前的值的值 进行计算 ,所以我不能简单地创建另一个外部风格。 问题答
问题内容: 我有一个简单的页面,其中包含一些iframe部分(以显示RSS链接)。如何将相同的CSS格式从首页应用到iframe中显示的页面? 问题答案: 编辑:除非设置了适当的CORS标头,否则这不能跨域工作。 这里有两件事:iframe块的样式和嵌入在iframe中的页面的样式。您可以按通常方式设置iframe块的样式: 必须通过将iframe中嵌入的页面样式包含在子页面中来进行设置: 或者可
问题内容: 输出: 码: 没有相同的输出,如何实现? 问题答案: 使用相同的HTML结构是不可能的,您必须有一些区别和。 我建议使用s,然后将其显示为块(就像实际一样)。
谢谢你的帮助。。。 在将html表格标签/片段(我已转换为字符串)转换为PDF文档时... 我能够使用此技术成功地将css样式应用于PDF文档。。。 但是,我没有成功地使用现有的css文件(即,使用CssFile对象)将css应用于PDF文档,如下所示。。。 。。。我一直无法让这个工作,不知道是什么问题。。。我正在。。。 如何正确使用CssFile和CssResolver将css样式——即从现有的
问题内容: 首先,我对专业从事这项工作不感兴趣。我是一名Web开发人员,我的一个同事最近离开了Spotify,他说他将主要在JavaScript中使用SpotifyDesktop应用程序。他说,它使用“ Chrome框架”,并且内部的所有内容都像网络应用程序(HTML / JS / CSS)一样完成。 作为一个从未为Desktop构建任何东西的Web开发人员,这是个好消息。如果我可以使用我已经知道
问题内容: 我想用干净的GUI设计新的Git客户端。 是否可以在Java应用程序中使用HTML,CSS和JavaScript的功能? 我想将Java + JGit用于模型,将Java用于控制器并将HTML + CSS + JavaScript用于视图。 我不需要客户端-服务器模型。我想很好地集成Java和HTML。DOM事件会将事件直接激发到Java控制器。这样,就有可能创建丰富的离线应用程序。