2016-07-29 5 views
2

buttontrの内部にない場合にのみ、if条件を実行します。ここに私のコード:ボタンが<tr>要素内にない場合にif条件を実行

if (!$("tr").hasClass('hidebutton')) { 
    var OriginalContent = $("#tabletask tr[data-id='" + parrentid + "'] > td:first-child").text(); 
    $("#tabletask tr[data-id='" + parrentid + "'] > td:first-child").html("<button class=hidebutton>-</button> " + OriginalContent + " "); 
} 

しかし、それは動作していません。条件は常に実行されています。

+2

が重複する可能性を見てみましょう.com/questions/38651489/display-none-if-null-use-data-id) – eisbehr

+0

申し訳ありませんが、私はそれを理解できません。説明してください。 –

+0

'button'が'tr'、そう?それは投稿された質問のようです。あなたは 'tr:not(:has(button))'のようなものを使うことができます。 – eisbehr

答えて

5

私はあなたがほしいものを少し得ると思います。

「tr」の中にボタンが見つからなければ、ボタンを作成したようですね。私が正しいならば、あなたは以下のスニペットをプレイするかもしれません。あなたは

html("<button class=hidebutton>-</button> " + OriginalContent + " "); 

あなたは以下を参照してください。この「hidebutton」のようhidebutton囲む必要があり、このライン上で何かを逃したような方法によって

if(!$("tr button").hasClass("hidebutton")){ 
$("#tabletask tr[data-id='" + parrentid + "'] > td:first-child").html('<button class="hidebutton">-</button> ' + OriginalContent); 
} 

は、それはそうです。

.html("<button class='hidebutton'>-</button> " + OriginalContent + " "); 
+0

そのおかげです。 –

+1

それは素晴らしいです:) –

0

もう一つの方法は、ループを使用することです:// stackoverflowの:

$("tr").each(function(index, value) { 
    if (!$(this).hasClass('hidebutton')){ 
     console.log($(this,"td:first-child").text()); 
    } 
}); 

は、[データ-IDを使用して場合はnull表示なし](HTTPのjsfiddle

関連する問題