Jquery alle IDs finden, die mit einem String beginnen?

78

Ich habe mich nur gefragt, wie ich nach allen IDs suchen würde, die mit "content_" auf der gesamten Seite beginnen, und auch nach einer Möglichkeit, sie nur in einem benannten div namens "extra_content" zu finden. Sobald ich alle IDs habe, möchte ich sie verstecken.

Unten ist ein Beispiel für das, was ich finden möchte.

<div id="content_1"></div> <-- Find
<div id="content_2"></div> <-- Find
<div id="contet_3"></div>

<div id="extra_content"> 
    <div id="content_extra_1"></div> <-- Find
    <div id="content_extra_2"></div> < -- Find
</div>

Beispiele wären hilfreich.

Vielen Dank

Beutlin
quelle
Möchten Sie alle verstecken oder die IDs erhalten?
Anand Thangappan

Antworten:

148

Verwenden Sie den Attribut-Start-mit-Selektor :

$('[id^="content_"]').hide();

So beschränken Sie die Suche auf Elemente innerhalb von extra_content:

$('#extra_content [id^="content_"]').hide();
David Tang
quelle
1
Ich kannte den Attribut-Start-mit-Selektor nicht (+1 für Sie beide), aber ich denke, Sie sollten eine Attributklasse hinzufügen, um dies zu manipulieren, anstatt das ID-Attribut zu verwenden. Es ist einfacher zu verstehen, sauberer und es hilft, Fehler zu verhindern ...
jbatista
Hallo, ich habe eine Verwirrung, ich habe ein Szenario wie dieses: <div id="min1"></div> <div id="max1"></div> <div id="min2"></div> `<div id =" max2 "> </ div>`. Ich benutze das: $("[id^=min]", "[id^=max]").val('hello')um etwas mit ihnen zu machen. Es funktioniert nicht. Worin besteht das Problem ?
Mazhar MIK
@ MazharMIK Das Problem besteht darin, dass Sie die Selektoren trennen. Es sollte sein : $("[id^=min],[id^=max]").val('hello'). in diesem Fall. (PS Klassen sind dein Freund)
Danny Mahoney