selector
Могу ли я запросить элементы с идентификатором, который заканчивается данной строкой?
Скажем, у меня есть элемент с идентификатором ctl00$ContentBody$txtTitle
. Как я могу получить это, просто пройдя txtTitle
?
jquery
jquery-selectors
Джош Стодола
источник
источник
ClientIDMode=static
с ASP.Net 4.0 и избавьтесь от этого :)Ответы:
Если вы знаете тип элемента, то: (например: замените 'element' на 'div')
Если вы не знаете тип элемента:
Больше информации доступно
Показать фрагмент кода
источник
document.getElementById("f:fTest:j_idt51:0:inpTest")
. Это не так$("[id$='inpTest']")
. Это потому, что двоеточие не разрешено в ID (но JSF добавляет его!)?Ответ на этот вопрос
$("[id$='txtTitle']")
, как ответил Марк Херд , но для тех, кто, как и я, хочет найти все элементы с идентификатором, который начинается с данной строки (например, txtTitle), попробуйте это ( doc ):Если вы хотите выбрать элементы, идентификатор которых содержит данную строку ( документ ):
Если вы хотите выбрать элементы, идентификатор которых не является заданной строкой ( doc ):
(также соответствует элементам, которые не имеют указанного атрибута)
Если вы хотите выбрать элементы, идентификатор которых содержит данное слово, разделенное пробелами ( doc ):
Если вы хотите выбрать элементы, идентификатор которых равен заданной строке или начинается с этой строки, за которой следует дефис ( doc ):
источник
Пытаться
редактировать: 4 секунды позже: P
источник
Не обязательно указывать фрагмент текста, с которым вы сопоставляете
источник
Безопаснее добавить символ подчеркивания или $ к искомому термину, чтобы было меньше шансов сопоставить другие элементы, заканчивающиеся тем же идентификатором:
(где element - это тип элемента, который вы пытаетесь найти - например
div
,input
и т. д.(Обратите внимание, вы предполагаете, что в ваших идентификаторах, как правило, есть знаки $, но я думаю, что .NET 2 теперь вместо этого использует подчеркивание в идентификаторе, поэтому в моем примере используется подчеркивание).
источник
Пример: выбрать все
<a>
файлы с идентификатором, оканчивающимся на _edit:или
источник
Поскольку это ASP.NET, вы можете просто использовать тег ASP <% =%>, чтобы напечатать сгенерированный ClientID для txtTitle:
Это приведет к ...
... когда страница отображается.
Примечание. В Visual Studio Intellisense будет кричать на вас за размещение тегов ASP в JavaScript. Вы можете игнорировать это, так как в результате действительный JavaScript.
источник
'ctl00$ContentBody$txtTitle'
, у него есть'txtTitle'
, а вам не хватает ведущего,#
чтобы соответствовать идентификатору. Но OP уже отклонил подобное предложение (так как оно было удалено): это не сработает, если я не помещу свой Javascript прямо в разметку, что является организационным кошмаром. Поведенческое разделение имеет решающее значение для этого проекта.Попробуй это:
источник
Чтобы найти идентификатор iframe, заканчивающийся на «iFrame» на странице, содержащей много элементов iframe.
источник