Is there a selector
that I can query for elements with an ID that ends with a given string?
Say I have a element with an id of ctl00$ContentBody$txtTitle
. How can I get this by passing just txtTitle
?
To get the elements with an ID that ends with a given string, use attribute selector with $ character.
Selecting by ID If you want to select elements with a certain ID value, use the hash symbol (#) and the ID name.
jQuery :contains() SelectorThe :contains() selector selects elements containing the specified string. The string can be contained directly in the element as text, or in a child element. This is mostly used together with another selector to select the elements containing the text in a group (like in the example above).
If you know the element type then: (eg: replace 'element' with 'div')
$("element[id$='txtTitle']")
If you don't know the element type:
$("[id$='txtTitle']")
More information available
// the old way, needs exact ID: document.getElementById("hi").value = "kk"; $(function() { $("[id$='txtTitle']").val("zz"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="ctl_blabla_txtTitle" type="text" />
The answer to the question is $("[id$='txtTitle']")
, as Mark Hurd answered, but for those who, like me, want to find all the elements with an id which starts with a given string (for example txtTitle), try this (doc) :
$("[id^='txtTitle']")
If you want to select elements which id contains a given string (doc) :
$("[id*='txtTitle']")
If you want to select elements which id is not a given string (doc) :
$("[id!='myValue']")
(it also matches the elements that don't have the specified attribute)
If you want to select elements which id contains a given word, delimited by spaces (doc) :
$("[id~='myValue']")
If you want to select elements which id is equal to a given string or starting with that string followed by a hyphen (doc) :
$("[id|='myValue']")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With