Селектор jQuery: Id заканчивается?
Есть ли selector
который я могу запросить для элементов с идентификатором, который заканчивается заданной строкой?
Скажем, у меня есть элемент с идентификатором ctl00$ContentBody$txtTitle
. Как я могу получить это, передав только txtTitle
?
- Как выбрать элементы, которые не имеют определенного дочернего элемента с JQuery
- Как я могу получить идентификатор элемента с помощью jQuery?
- использовать jQuery's find () для объекта JSON
- Фильтр jquery имеет +
- Включение / выключение флажков
- jQuery: выбрать class элемента и идентификатор одновременно?
- Как выбрать конкретный элемент формы в jQuery?
- Выберите элемент, когда имя classа начинается с определенного слова
- Выбор индекса jQuery
- Доступ к css ": после" селектор с jQuery
- поиск jQuery и контекст
- Почему мой jQuery: not () не работает в CSS?
- jQuery как найти элемент на основе значения атрибута данных?
Если вы знаете тип элемента, то: (например: замените «элемент» на «div»)
$("element[id$='txtTitle']")
Если вы не знаете тип элемента:
$("[id$='txtTitle']")
Дополнительная информация доступна
// the old way, needs exact ID: document.getElementById("hi").value = "kk"; $(function() { $("[id$='txtTitle']").val("zz"); });
Ответ на вопрос: $("[id$='txtTitle']")
, как ответил Марк Херд , но для тех, кто, как и я, хочет найти все элементы с id, который начинается с данной строки (для пример txtTitle), попробуйте это ( doc ):
$("[id^='txtTitle']")
Если вы хотите выбрать элементы, идентификатор которых содержит заданную строку ( doc ):
$("[id*='txtTitle']")
Если вы хотите выбрать элементы, id которых не является заданной строкой ( doc ):
$("[id!='myValue']")
(он также соответствует элементам, которые не имеют указанного атрибута)
Если вы хотите выбрать элементы, которые содержат данное слово, разделенные пробелами ( doc ):
$("[id~='myValue']")
Если вы хотите выбрать элементы, идентификатор которых равен заданной строке, или начиная с этой строки, за которой следует дефис ( doc ):
$("[id|='myValue']")
Пытаться
$("element[id$='txtTitle']");
править: 4 секунды: P
$('element[id$=txtTitle]')
Не обязательно указывать fragment текста, который вы сопоставляете с
Безопаснее добавить символ подчеркивания или $ к термину, который вы ищете, поэтому он менее подходит для соответствия другим элементам, которые заканчиваются одним и тем же идентификатором:
$("element[id$=_txtTitle]")
(где element – тип элемента, который вы пытаетесь найти – например, div
, input
и т. д.
(Заметьте, вы предлагаете, чтобы ваши идентификаторы имели в них знаки $, но я думаю, что .NET 2 теперь имеет тенденцию использовать символы подчеркивания в идентификаторе, поэтому в моем примере используется символ подчеркивания).
Поскольку это ASP.NET, вы можете просто использовать тег ASP <% =%> для печати сгенерированного идентификатора клиента txtTitle:
$('<%= txtTitle.ClientID %>')
Это приведет к …
$('ctl00$ContentBody$txtTitle')
… когда страница отображается.
Примечание. В Visual Studio Intellisense будет кричать на вас для размещения тегов ASP в JavaScript. Вы можете игнорировать это, поскольку в результате действительный JavaScript.
Попробуй это:
var test = $(this).find('[id*="_h"').val();
Чтобы найти идентификатор iframe, заканчивающийся «iFrame» на странице, содержащей много фреймов.
jQuery(document).ready(function (){ jQuery("iframe").each(function(){ if( jQuery(this).attr('id').match(/_iFrame/) ) { alert(jQuery(this).attr('id')); } }); });