Gibt es eine selector
, die ich nach Elementen mit einer ID abfragen kann, die mit einer bestimmten Zeichenfolge endet?
Angenommen, ich habe ein Element mit der ID ctl00$ContentBody$txtTitle
. Wie kann ich das erreichen, indem ich nur passiere txtTitle
?
jquery
jquery-selectors
Josh Stodola
quelle
quelle
ClientIDMode=static
ab ASP.Net 4.0 und loswerden :)Antworten:
Wenn Sie den Elementtyp kennen, dann: (zB: 'Element' durch 'div' ersetzen)
Wenn Sie den Elementtyp nicht kennen:
Weitere Informationen verfügbar
Code-Snippet anzeigen
quelle
document.getElementById("f:fTest:j_idt51:0:inpTest")
. Das geht nicht$("[id$='inpTest']")
. Liegt es daran, dass Doppelpunkt in der ID nicht zulässig ist (aber JSF fügt ihn hinzu!)?Die Antwort auf die Frage lautet
$("[id$='txtTitle']")
, wie Mark Hurd antwortete , aber für diejenigen, die wie ich alle Elemente mit einer ID finden möchten, die mit einer bestimmten Zeichenfolge beginnt (z. B. txtTitle), versuchen Sie Folgendes ( doc ):Wenn Sie möchten , Elemente auszuwählen , die ID enthält eine bestimmte Zeichenkette ( doc ):
Wenn Sie Elemente auswählen möchten, deren ID keine bestimmte Zeichenfolge ( doc ) ist:
(Es stimmt auch mit den Elementen überein, die nicht das angegebene Attribut haben.)
Wenn Sie Elemente auswählen möchten, deren ID ein bestimmtes Wort enthält, das durch Leerzeichen ( doc ) begrenzt ist:
Wenn Sie Elemente auswählen möchten, deren ID einer bestimmten Zeichenfolge entspricht oder mit dieser Zeichenfolge gefolgt von einem Bindestrich ( doc ) beginnt :
quelle
Versuchen
bearbeiten: 4 Sekunden zu spät: P.
quelle
Es ist nicht unbedingt erforderlich, das Textfragment zu zitieren, mit dem Sie übereinstimmen
quelle
Es ist sicherer, den Unterstrich oder $ zu dem gesuchten Begriff hinzuzufügen, damit es weniger wahrscheinlich ist, dass er mit anderen Elementen übereinstimmt, die mit derselben ID enden:
(wo Element der Typ des Elements ist Sie versuchen zu finden - zB
div
,input
usw.(Beachten Sie, dass Ihre IDs in der Regel $ -Zeichen enthalten, aber ich denke, dass .NET 2 jetzt eher Unterstriche in der ID verwendet, sodass in meinem Beispiel ein Unterstrich verwendet wird.)
quelle
Ein Beispiel:
<a>
Um alle s mit einer ID auszuwählen, die auf _edit endet:oder
quelle
Da dies ASP.NET ist, können Sie einfach das ASP-Tag <% =%> verwenden, um die generierte ClientID von txtTitle zu drucken:
Dies führt zu ...
... wenn die Seite gerendert wird.
Hinweis: In Visual Studio schreit Intellisense Sie an, weil Sie ASP-Tags in JavaScript eingefügt haben. Sie können dies ignorieren, da das Ergebnis gültiges JavaScript ist.
quelle
'ctl00$ContentBody$txtTitle'
, er hat'txtTitle'
, und Sie vermissen die Führung#
, die mit einer ID übereinstimmt. Das OP hat jedoch bereits einen ähnlichen Vorschlag abgelehnt (seitdem gelöscht): Dies funktioniert nur, wenn ich mein Javascript direkt in das Markup eingefügt habe, was ein organisatorischer Albtraum ist. Verhaltenstrennung ist für dieses Projekt von entscheidender Bedeutung.Versuche dies:
quelle
Um eine Iframe-ID zu finden, die auf einer Seite mit vielen Iframes mit "iFrame" endet.
quelle