92

Just wondered how I would search for all the ids starting with "content_" in the whole page and also a way to only find them in a named div called "extra_content". Once i have all the ids i want to hide them.

Below is an example of what i want to find.

<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> 

Examples would be helpful.

Thanks

1
  • do you want to hide all or get the ids? Commented Apr 11, 2011 at 4:49

1 Answer 1

175

Use the attribute-starts-with selector:

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

To limit the search to elements within extra_content:

$('#extra_content [id^="content_"]').hide(); 
Sign up to request clarification or add additional context in comments.

3 Comments

I didn't know the attribute-starts-with selector (+1 for that to both of you) but I think you should add an attribute class to manipulate that instead of using the id attribute. It's more easy to understand, more clean and it helps to prevent bugs...
Hi, I have a confusion, I have a scenario like this : <div id="min1"></div> <div id="max1"></div> <div id="min2"></div> ` <div id="max2"></div> ` . I am using this : $("[id^=min]", "[id^=max]").val('hello') to do something with them. It doesn't work. What is the problem ?
@MazharMIK The problem you have is in your separating the selectors. It should be: $("[id^=min],[id^=max]").val('hello') . in this case. (P.S Classes are your friend)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.