开发者

How to find elements by the last bit of their ID with jQuery?

I have to find an e开发者_开发技巧lement by its id with jQuery. This element has the id:

txtHistoricalPricesDate

which would be easy to find under normal circumstances with the following:

var element = $('#txtHistoricalPricesDate');

but unfortunately, I'm working in an ASP.NET app, which helpfully renamed the element to:

ctl00_ContentPlaceHolder1_ucFundSearchResultsPanel_tabContainer_tabPriceTab_txtHistoricalPricesDate

rather than dirty the jQuery with that huge ridiculous ID, is there a way that I can tell jQuery to find the element with an ID that ends with txtHistoricalPricesDate?


Either use a class, or an attribute-ends-with selector, like this:

var element = $('[id$=txtHistoricalPricesDate]');

If you must use the above (but try and use a class) then prefix it with the element type, for example:

var element = $('input[id$=txtHistoricalPricesDate]');

To use a class, just set its CssClass property, for example CssClass="histPrices", then use a .class selector, like this:

var element = $('.histPrices');

On any normal element use class="", but since it's an ASP.Net control it looks like, use CssClass, as that's probably the WebControl property you're dealing with.


I would recommend you to use a class selector to avoid the ASP.NET id mangling. Simply append a CssClass to your element and then: $('.txtHistoricalPricesDate') or if you are using ASP.NET 4.0 you could adjust the ClientIDMode to Predictable.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜