2012-08-31 112 views
1

我有一個動態創建的錶行,所以我無法控制添加任何ID或類。 該行可以以表中的任何順序出現。每行僅包含列(td)。從HTML字符串獲取父項

已更新31/08/2012 18:55

這裏的HTML會是什麼樣

<table id="ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList"> 
    <tr> 
     <td> 
     <p> 
     <span style="font-size:1.1em"><span id="ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList_ctl00_lblCourseInfoTypeText" style="font-weight:bold;">Subject Area</span></span> 
     <br /> 
     <span id="ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList_ctl00_lblCourseInfoText">BS, AP</span> 
     </p> 
     </td> 
    </tr> 
    <tr> 
     <td> 
     <p> 
     <span style="font-size:1.1em"><span id="ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList_ctl01_lblCourseInfoTypeText" style="font-weight:bold;">Course Content</span></span> 
     <br /> 
     <span id="ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList_ctl01_lblCourseInfoText">some more text</span> 
     </p> 
     </td> 
    </tr> 
</table> 

樣本是否有我可以隱藏的行其中,「主題區的方式'出現?

+0

是什麼的'id'的格局?它始終以'ctl00_Main ...'開始? –

+0

'$('#ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList_ctl00_lblCourseInfoTypeText')。parent()。hide();'?我敢打賭,雖然有更好的方法來解決這個問題,但是如果沒有更多的上下文信息,很難提出任何建議。 –

+0

請詳細說明我無法理解? –

回答

0

我可能是錯的,但我想我可以回答我的問題:S

$("#ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList tr:contains('Subject Area')").hide(); 

這是一個有點更具選擇性,並不太可能趕上「主題區」的任何其他實例是我們真的想要。

$("#ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList span:contains('Subject Area')").closest('tr').hide(); 

發現的包含功能是關鍵在這裏,所以謝謝你們:)

1

使用.closest('tr'),會搶在未來<tr>標籤了DOM樹:

$('#ctl00_MainContentPlaceholder_ctl00_CourseInfoTextList_ctl00_lblCourseInfoTypeText').closest('tr').hide(); 

相反的.hide(),你可以使用.slideUp().fadeOut().remove()

+0

嗨。這麼晚纔回復很抱歉。我已經添加了一些示例html和更多解釋。關鍵是「壞」行可能出現在任何地方,例如任何數字,例如ct100,ct108等 – iltdev

0

Dunhamzzz是正確的,最接近的偉大工程(+1)。

在一個側面說明,ASP.NET web表單使得絕對荒謬的長期動態ID名稱,並把在<%= Whatever.ClientID %>您的JS裏面的i將理念(混合後端&前端)是荒謬的我。

只需使用選擇器中的來代替,以保持JS清潔。

$('[id$="lblCourseInfoTypeText"]').closest('tr').hide(); 
// ^= means search from the end - and voila 
+1

從最後是美元符號'[id $ =「value」]':) – Dunhamzzz

+0

廢話 - 腦屁:)還爲時過早哈哈。感謝您注意! –

+0

嗨。對不起,花了這麼長的時間來回復。我已經嘗試了一個我的頁面,但它隱藏了所有tr。我原來的帖子並不是很清楚,所以我已經添加了一些更詳細的示例html。據我所知,唯一我們知道並且不會改變的獨特價值是'主題區'。不知道是否有辦法瞄準?我仍然在學習所有的JQuery函數LOL – iltdev