2013-11-18 2 views
0

У меня есть следующий фрагмент кода (генерируется из плагина JQuery DataTables)Ошибка в изменяющемся этикетке значения

<div class="dataTables_filter" id="DataTables_Table_0_filter"> 
<label>Search: 
<input type="text" aria-controls="DataTables_Table_0"> 
</label> 
</div> 

Я хочу, чтобы манипулировать текст метки и написал следующий фрагмент кода, может кто-то указать, где я ошибаюсь.

$("#DataTables_Table_0_filter").closest("label").html("filter"); 
+0

'.closest' ищет родителей. Вы хотите '.find' или' .find(). First() ' –

+0

Я только что вошел в систему через 2 часа, и вопрос все еще присутствует в потоке вопросов. Не могли бы вы принять один из ответов ниже? – Chandranshu

ответ

2

Это не сработает. closest() просматривает иерархию элементов DOM. Вы можете использовать find() как в следующем коде:

$("#DataTables_Table_0_filter").find("label").html("filter"); 

Это, однако удалить <input> элемент внутри <label>, а также. Вам нужно будет добавить код для элемента <input> в строку, переданную функции html().

+0

Итак, что сработает? –

+0

Обновлено. Проверка Plz. – Chandranshu

+0

Вы также должны добавить ссылку на страницу документации .find jQuery для всех, кто это находит. –

0

Возможно $("#DataTables_Table_0_filter").find("label").html("filter");

0

Вам не нужно использовать closest как label внутри div

вы можете сделать этот путь -

$("#DataTables_Table_0_filter label").html("filter");

, или если у вас есть несколько лейбла и хотите для доступа к первой -

$("#DataTables_Table_0_filter label:first").html("filter");

Смежные вопросы