2011-07-06 68 views
0

我想隱藏Value2的div。我嘗試了很多東西,但迄今爲止沒有成功。以下是示例HTML代碼使用jQuery隱藏內部div標記?

<thead class="line-item-grid-header"> 
    <tr> 
     <th> 
      <div>Value1</div> 
     </th> 
     <th> 
      <div>Value2</div> 
     </th> 
    </tr> 
</thead> 

我想特別隱藏第二個div。

任何想法?

+0

第二個div每次或只是與Value2的div? – Nic

+0

div與Value2 – Nitesh

回答

1

通常情況下,你會識別<table>第一,但沒有這些信息:

$('th:contains(Value2)').hide(); 

注意上面將尋找「值2」爲其他任何文本的一部分,因此「Value21」將導致它匹配了。

對於一些更強大的,是嚴格匹配「值2」,以及忽略前後空白,則:

$('th').filter(function() { 
    return $.trim($('div', this).text()) == "Value2"; 
}).hide(); 
+0

我想隱藏div值爲2而不只是第二格 – Nitesh

+0

@Nitesh,只是要澄清。現在更新我的答案。 –

+0

甜...那個工作!!! ...感謝您的幫助! – Nitesh

1

要隱藏 '格'

$("thead.line-item-grid-header tr th div:contains(Value2)").hide();

要隱藏 '日'

$("thead.line-item-grid-header tr th:contains(Value2)").hide();

請參閱例如 http://jsfiddle.net/JURSU/1/

+0

欲瞭解更多信息:http://api.jquery.com/category/selectors/ – djlumley

+0

我想隱藏div的值不只是第二格 – Nitesh

+0

工作。我用$(「thead.line-item-grid-header tr th div:contains(Value2)」)。隱藏();相反,但實際上我想隱藏圍繞該特定的div標籤的th標籤 – Nitesh

0

總是試圖給id來,你需要以獲得訪問元素值,切換能見度等等。它使您的生活更輕鬆,並防止您的人爲錯誤。否則你可以指定類名並通過jquery訪問它們來處理它們。

例如:

<thead class="line-item-grid-header"> 
<tr> 
    <th> 
     <div>Value1</div> 
    </th> 
    <th> 
     <div id='mydiv'>Value2</div> 
    </th> 
</tr> 
</thead> 

<script type="text/javascript"> 
$(function() { 
     $("#bthidemydiv").click(function() { 
$("#mydiv").hide(); 
}); 
}); 
</script> 

希望這有助於

0

我建議你添加一些類值(即使是該類定義沒有明確的CSS樣式)或者增加一些標識到您的div 。

這樣你可以通過id或class直接找到它們。

另一種解決方案是將父級div的id或class,然後遍歷你想要達到的div。

如果內容發生變化,通過它的包含文本查找div可能會中斷。

如果文本總是固定的,那麼你可以走那條路。

我剛測試過它,它的工作原理。請嘗試讓我知道它是怎麼回事...

<script type="text/javascript"> 
    $(function() { 
     $('.line-item-grid-header div').each(function() { 
      alert('div'); 
      var txt = $(this).text(); 
      if (txt === 'Value2'){ 
       //$(this).text('Value 3'); 
       $(this).hide(); 

       //break out of loop 
       return false; 
      } 
     }); 
    }); 
</script>