2012-03-18 4 views
0

テーブルがあります。特定の行のすべてのセルは、<div>条件がjQueryで存在する場合

を持つことができます。私はセルのdivの幅を変更する必要があります<span>が存在します。それをどうやって確認するのですか?

JS:

var divW = $("#myTable td").find("div").width(50); 
var spaW = 20; 

HTML:

<table id="myTable"> 
<tr> 
    <td> 
     <div class="tdDiv">abc</div> 
    </td><td> 
     <div class="tdDiv">abc</div> 
    </td> 
    <td> 
     <span class="tdSpan">*</span> 
     <div class="tdDiv">abc</div> 
    </td> 
</tr> 
</table> 
+0

質問の中でコードをインラインでフォーマットする方法を知っていますか? –

+1

オブジェクトが存在する場合は[jQuery]の複製が可能です。(http://stackoverflow.com/questions/4164189/jquery-if-object-is-present) – steveax

答えて

0
$('td').each(function(){ 
    if($(this).children('span').length>0) console.log('found a span'); 
}) 
2

彼らは疑問に示すように、隣接している場合は...

$("#myTable td span + div").width(50); 
+0

うわー、決してそうではありません。スパンは存在しません。それは0であると仮定します。そうですか? – santa

+0

@santa:セレクタは、それに先行する隣接する 'span'がある場合にのみ、' div'要素にマッチします。したがって、前の 'span'を持たない' div'要素はまったくマッチしません。 –

+0

私は変更が必要なだけです。最初の列以外のすべてに適用する必要がありますので、私のコードは本当に$( "#myTable td")でなければなりません。( ":eq(0)")find( "div")。この場合、あなたのコードをどのように適応させるのですか? – santa

0

私は

考えます
$('td span').next().css({width:'50px'}) 

はすべきことです。

関連する問題