Как удалить элемент без идентификатора - PullRequest
1 голос
/ 21 апреля 2010

У меня есть следующий код:

<%-- other tags --%>
<table>
  <tr width="100%">
    <td width="130" />
    <td id="BottomCell" width="100%" />
  </tr>
  <tr>
    <td/>
    <td/>
  </tr>
</table>
<%-- other tags --%>

На странице может быть несколько таблиц.Я хочу, чтобы td перед "BottomCell" был удален (или скрыт) при загрузке страницы.Как я могу сделать это с помощью JavaScript или CSS?

Спасибо.

Кстати, я разрабатываю веб-часть Sharepoint, которая будет размещена на странице.На той странице, которую я не могу контролировать напрямую.Но WebPart должен удалить это, пока он отображается на странице.

Ответы [ 6 ]

4 голосов
/ 21 апреля 2010

Ого, вернуться к основам после использования фреймворка - тяжелая работа.

var element = document.getElementById('BottomCell').previousSibling;
var parent = element.parentNode;
parent.removeChild(element);
4 голосов
/ 21 апреля 2010

В jQuery:

$('#BottomCell').prev().detach();
1 голос
/ 21 апреля 2010

В jQuery я бы нашел родителя и использовал селектор :first, вероятно

1 голос
/ 21 апреля 2010

Что ж, если у вас есть только одна таблица, то вы можете сделать что-то вроде этого (в JavaScript):

var firstCell = document.getElementsByTagName('tr')[0].getElementsByTagName('td')[0];
firstCell.parentNode.removeChild(firstCell);

Он получит первую ячейку первой строки во всем дереве DOM и удалит эту ячейку.

1 голос
/ 21 апреля 2010

@ diodeus, если приемлемы только две ячейки данных, однако, если вы хотите удалить первую ячейку данных независимо от того, сколько ячеек расположено в этой строке, вы можете сделать что-то вроде

var el = document.getElementById('BottomCell');
el.removeChild(el.parentNode.firstChild);
1 голос
/ 21 апреля 2010

tr > td должен сделать трюк.

Дочерние и родные селекторы

http://css -tricks.com / детей и-родственный-селекторы /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...