jQuery Selector: Id kończy się na?
Czy istnieje selector
, które mogę odpytywać o elementy o ID, które kończą się podanym ciągiem znaków?
Powiedzmy, że mam element o id ctl00$ContentBody$txtTitle
. Jak mogę to zdobyć przechodząc po prostu txtTitle
?
9 answers
Jeśli znasz typ elementu to: (np: zamień "element" na "div")
$("element[id$='txtTitle']")
Jeśli nie znasz typu elementu:
$("[id$='txtTitle']")
// 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" />
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-26 13:02:04
Odpowiedź na pytanie brzmi $("[id$='txtTitle']")
, Jak odpowiedział Mark Hurd , ale dla tych, którzy, tak jak ja, chcą znaleźć wszystkie elementy o id, które zaczyna się od danego ciągu (na przykład txtTitle), spróbuj tego ( doc) :
$("[id^='txtTitle']")
Jeśli chcesz wybrać elementy, które id zawiera podany łańcuch (doc) :
$("[id*='txtTitle']")
Jeśli chcesz wybrać elementy, których id nie jest podany łańcuch (doc) :
$("[id!='myValue']")
(to także dopasowuje elementy, które nie mają określonego atrybutu)
Jeśli chcesz wybrać elementy, które id zawiera dane słowo, rozdzielone spacjami (doc) :
$("[id~='myValue']")
Jeśli chcesz wybrać elementy, których id jest równe danemu łańcuchowi lub zaczynające się od tego łańcucha, po którym następuje myślnik (doc) :
$("[id|='myValue']")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:32
Try
$("element[id$='txtTitle']");
Edit: 4 seconds late: P
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-04 06:06:46
$('element[id$=txtTitle]')
Nie jest konieczne cytowanie fragmentu tekstu, który pasujesz do
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-20 14:50:46
Bezpieczniej jest dodać podkreślenie lub $ do szukanego wyrażenia, więc jest mniej prawdopodobne, że pasuje do innych elementów, które kończą się tym samym ID:
$("element[id$=_txtTitle]")
(Gdzie element jest typem elementu, który próbujesz znaleźć-np. div
, input
itd.
(Uwaga, sugerujesz, że Twoje identyfikatory mają zwykle znaki$, ale myślę, że. NET 2 używa teraz podkreślników w ID, więc mój przykład używa podkreślnika).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-29 16:01:59
Przykład:
aby wybrać wszystkie <a>
s z ID zakończonym _edit:
jQuery("a[id$=_edit]")
Lub
jQuery("a[id$='_edit']")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-22 08:24:26
Ponieważ jest to ASP.NET możesz po prostu użyć znacznika ASP, aby wydrukować wygenerowany identyfikator klienta txtTitle:
$('<%= txtTitle.ClientID %>')
To spowoduje...
$('ctl00$ContentBody$txtTitle')
... kiedy strona jest renderowana.
Uwaga: w Visual Studio Intellisense będzie krzyczeć na Ciebie za umieszczanie znaczników ASP w JavaScript. Możesz to zignorować, ponieważ wynikiem jest poprawny JavaScript.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-19 15:27:42
Spróbuj tego:
<asp:HiddenField ID="0858674_h" Value="0" runat="server" />
var test = $(this).find('[id*="_h"').val();
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-09 11:46:21
W celu znalezienia id ramki iframe kończącego się "iFrame" na stronie zawierającej wiele ramek iFrame.
jQuery(document).ready(function (){
jQuery("iframe").each(function(){
if( jQuery(this).attr('id').match(/_iFrame/) ) {
alert(jQuery(this).attr('id'));
}
});
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-06 20:32:43