使用jquery删除特定的内联样式
我使用的asp菜单是自动插入样式=宽度:3px;在我的菜单表中,tds在我的标签之间制造了一个讨厌的口吃。我正在测试用jquery删除这种内联样式,而不是我们的开发人员只为这种表面缺陷定制菜单 下面是一个简单的例子:使用jquery删除特定的内联样式,jquery,css,inline-styles,Jquery,Css,Inline Styles,我使用的asp菜单是自动插入样式=宽度:3px;在我的菜单表中,tds在我的标签之间制造了一个讨厌的口吃。我正在测试用jquery删除这种内联样式,而不是我们的开发人员只为这种表面缺陷定制菜单 下面是一个简单的例子: <table border="1" cellspacing="0" cellpadding="0"> <tr> <td style="width:3px;">hello world</td> </tr&g
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td style="width:3px;">hello world</td>
</tr>
</table>
所以,我的问题是,如何将只包含3px的内联样式作为目标
这是我的现场演示:
所以,我的问题是,我怎么能
以包含的内联样式为目标
只有3件
试试这个:
$('td').each(function(){
if ($(this).attr('style').indexOf('3px') !== -1){
$(this).removeAttr('style');
}
});
您正在询问如何选择仅具有宽度的style属性的td:3px;在里面,对吗 你可以用
我相信Evan只想删除宽度:3px;而其他css样式保留在属性中。因此,解决方案如下:
$('td').each(function(){
if ($(this).attr('style').indexOf('3px') !== -1){
var style = $(this).attr('style');
$(this).attr('style', style.replace(/width: ?3px;/g, ''));
}
});
工作示例是
如果这不是您需要的,则会向您展示Sarfraz的正确解决方案: 谢谢你的帮助!我发现布莱恩似乎用更少的代码来解决这个问题,而你的则在萨法兹开始编写代码后更加努力地解决了我的问题。再次感谢您的帮助。如果您只想删除宽度而保留其他样式,我的解决方案将有效。如果您只想完全删除style属性,那么Brian的解决方案确实是最短的。虽然这对我不起作用。无论如何:救了我的培根兄弟。索森德万岁!回答得好!对我的案子也有帮助。好奇:什么是-/宽度:?3px/实际上不需要,因为在样式中不可能有多个宽度。下面是对全局修饰符的解释-仅按样式类型可以工作吗?我正在尝试删除所有出现的字体系列和字体大小,但我不知道它们的值。@TomHart-您可以使用类似“以开头”或“包含”“查看jQuery属性选择器的所有选项”之类的选项。例如,$div[style*='font-family',div[style*='font-size']。请注意,这是一个精确的匹配,因此如果有人使用速记,例如,背景:红色urlhttp://lorempixel/200/100 不重复;您将无法拾取背景图像,因为它未在“样式”属性的值中使用。
$("td[style='width:3px;']").removeAttr("style");
$('td').each(function(){
if ($(this).attr('style').indexOf('3px') !== -1){
var style = $(this).attr('style');
$(this).attr('style', style.replace(/width: ?3px;/g, ''));
}
});