我正在使用的asp菜单是自动插入样式=“width:3px;”进入我的菜单表tds在我的标签之间创建一个令人讨厌的瞎扯。我正在测试用jquery删除这个内联样式,而不是我们的开发人员为这个化妆品瑕疵定制菜单。
下面是一个简单的例子:
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td style="width:3px;">hello world</td>
</tr>
</table>
在jquery中,我可以通过执行以下操作删除所有带有style属性的tds:
$('td').removeAttr('style');
所以,我的问题是,我如何定位仅包含3px的内联样式?
这是我的现场演示:http://jsfiddle.net/n9upF/
答案 0 :(得分:9)
您在询问如何选择仅包含width:3px;
的样式属性的td,对吗?
您可以使用 Attribute Equals Selector 。
$("td[style='width:3px;']").removeAttr("style");
答案 1 :(得分:8)
我相信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, ''));
}
});
工作示例为here
如果这不是您所需要的,那么Sarfraz就会显示出正确的解决方案。 :)
答案 2 :(得分:4)
所以,我的问题是,我怎么才能 定位包含的内联样式 只有3px?
试试这个:
$('td').each(function(){
if ($(this).attr('style').indexOf('3px') !== -1){
$(this).removeAttr('style');
}
});