6

style="width:3px;" を自動挿入する、私が使用しているASPメニューがあります。メニューテーブル 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/

4

3 に答える 3

10

スタイル属性のみを持つtdを選択する方法を尋ねていますよwidth:3px;ね?

Attribute Equals Selectorを使用できます。

$("td[style='width:3px;']").removeAttr("style");​
于 2010-09-29T06:54:55.347 に答える
8

Evan は width: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 は適切な解決策を示します。:)

于 2010-09-29T07:30:08.620 に答える
4

私の質問は、3px のみを含むインライン スタイルのみをターゲットにするにはどうすればよいですか?

これを試して:

$('td').each(function(){
  if ($(this).attr('style').indexOf('3px') !== -1){
    $(this).removeAttr('style');
  }
});

実施例を見る

于 2010-09-29T06:32:37.233 に答える