Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery删除特定的内联样式_Jquery_Css_Inline Styles - Fatal编程技术网

使用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

我使用的asp菜单是自动插入样式=宽度:3px;在我的菜单表中,tds在我的标签之间制造了一个讨厌的口吃。我正在测试用jquery删除这种内联样式,而不是我们的开发人员只为这种表面缺陷定制菜单

下面是一个简单的例子:

<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, ''));
  }
});