2015-01-01 20 views
7

私が解析していた文書は(tdタグの他のインスタンス間)tdタグの以下の2つのスタイルがあります。CSSセレクタ

<td align="right" nowrap bgcolor="#A1C87A">...</td> 

<td align="right" nowrap>...</td> 

私は第二を選択するセレクタを書くにはどうすればよいです入力し、他のすべてのtdのタグを除外?

document.css('td:not([bgcolor="#A1C87A"])') 

は、第一のタイプを除外ならびに第二のタイプに加えて、他のすべてのtdタグを含みます。

document.css('td[align="right"][nowrap]') 

は、他のすべてのtdタグを除きますが、上記の両方のタイプを含みます。

+1

ステップ1は、整列してBGCOLOR属性が含まれていない現在のHTMLを記述することです。代わりにCSSを試してください。 – j08691

+3

ザ・OPはおそらくHTMLを制御することはできません。あなたがコントロールするHTMLを解析するポイントは何ですか? –

+0

@Theブリキ男:だから、人々はあなたに自分の指を小刻み、あなたはもちろん、代わりにやっているべきかを伝えることができます。 – BoltClock

答えて

9

何をしたいあなたは、単に他の属性セレクタと:notセレクタを組み合わせることができますための十分なはずです:

document.css('td:not([bgcolor="#A1C87A"])[align="right"][nowrap]') 

あなたも他の人の後に:notを入れることができます(それは)要素名の横に右である必要はありません。

document.css('td[align="right"][nowrap]:not([bgcolor="#A1C87A"])') 

これらは両方ともbgcolor="#A1C87A"nowrapを持っていますが、align="right"を持っているすべてのtd要素を選択します。

+0

ありがとう!私が除外しなければならなかった 'bgcolor =" white "'の別のインスタンスを見つけて、 'td [align =" right "] [nowrap]:not([bgcolor])'に行きました。 –

0

td:not([align="right"][nowrap][bgcolor])あなたは

+0

ありがとうございます。これは他のすべてのtdタグを除外していないようです。 –

0
td[nowrap][bgcolor] ~ td[nowrap] { code }; 
+0

ありがとうございます。これは 'align'、' bicolor'と 'nowrap'の属性を持つすべての' td'タグを含めているように見えます。 –