JQuery выберите элемент внутри td
Я хотел бы выбрать элемент внутри td одной из моих таблиц, но я действительно не понимаю синтаксис.
Это то, что я пробовал:
$("table > td:#box")
Это образец моей структуры таблицы:
<div id="main">
<div id="today">
<table id="list" width="100%" cellpadding="4" cellspacing="0" border="0" style="font-size: 10px; border-collapse:collapse;">
<tr id="109008">
<td class="tdstd">
<a class="box" href="link"></a>
</td>
Или с помощью инспектора Chrome DOM:
![alt text]()
Ответы
Ответ 1
Ну, "#box" означает объект DOM с полем "id", так как он является уникальным идентификатором. Вы можете выбрать это напрямую. Но ваш код предполагает, что у вас есть несколько элементов с идентификатором "box", который вы должны изменить. Вы должны назначить класс вашему элементу внутри TD, или если он уникален, будучи единственным DIV или SPAN в этом поле, вы можете получить к нему доступ следующим образом:
$("table td .box")
Обратите внимание, что селектор " > " означает, что TD должен быть прямым дочерним элементом TABLE, и я предполагаю, что вы имеете по крайней мере уровень TR между ними, так что это тоже не сработает. Мой пример выше соответствует каждому элементу с полем класса внутри любого TD, который является дочерним для любого TABLE.
Очевидно, я бы тоже установил класс в таблице и использовал бы что-то вроде этого:
$("table.boxes td .box")
Просто, чтобы вы случайно не выбрали вещи вне области действия, в которой вы хотите работать.
Теперь вы добавили HTML, поэтому я редактирую свой ответ:
$("table#list a.box")
Ответ 2
Наиболее эффективным селектором будет:
$('#list').find('a.box');
или
$('a.box', $('#list')[0]);
Выбрав таблицу id
, сначала вы установите область видимости только в таблицу, а затем вы можете искать элемент, который вам нужен, в этой таблице.
Второй селектор - это то же самое, вы выбираете что-то, и вы предоставляете область как второй параметр.
Проще всего читать первый.
Ответ 3
$("table tr td .box")
Должен сделать трюк.
Ответ 4
Этот селектор...
table td a.box
сообщает jQuery, чтобы найти тег a
с атрибутом class
, который содержит "поле". И этот тег a
должен находиться внутри td
, который находится внутри table
.
Ответ 5
Я не уверен, но я думаю, вам нужно $("td#box")
...