Удалить неклассифицированный элемент jQuery - PullRequest
0 голосов
/ 12 декабря 2011

Вот странный вопрос, я пытаюсь удалить элемент, но проблема в том, что он не классифицирован.Весь исходный код находится здесь:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tbody>
  <tr> 
   <td valign="top"> 
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
     <tbody>
      <tr>          
       <td id="Header_ProductDetail_ProductDetails"></td>
       <td id="Header_ProductDetail_TechSpecs"></td>
       <td id="Header_ProductDetail_ExtInfo"></td>
      </tr>
     </tbody>
    </table>
   </td>
   <td width="1" valign="bottom">&nbsp;</td>
  </tr>
 </tbody>
</table>

Вы видите

<td width="1" valign="bottom">&nbsp;</td>

Я хочу удалить это, но проблема в том, что я не хочу делать что-то вроде td [valign= bottom] .remove (), потому что это будет означать, что все с valign = "bottom" будет удалено.Я бы предпочел перейти к ближайшему элементу, который идентифицирован как td # Header_ProductDetail_ProductDetails и добавить что-то вроде $ ('td # Header_ProductDetail_ProductDetails'). Parent (). Parent (). Parent (). Parent (). Closest (td) .remove ();Хотя, я знаю, что это сумасшедший разговор, так как вы, вероятно, не можете вскочить на четверых родителей, но я не знаю, как еще это убрать?Кто-нибудь знает, есть ли быстрое решение для этого?

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

Попробуйте отфильтровать результаты по html-контенту с помощью функции фильтра.

$("td").filter(function() { return $(this).html() === '&nbsp;'; }).remove();
0 голосов
/ 12 декабря 2011

В зависимости от специфики вашей структуры, вы можете выполнить некоторые из следующих действий:

$("td").eq(index).remove();  //Remove td of specific zero-based index
$("td").eq($("td").length-1).remove();  //Remove very last td

Если вы дадите некоторые из классов или идентификаторов родительских элементов, вы можете получить довольно конкретную информацию о том, каким твыбор.

...