The $(selector, context)
syntax will always only search within the given context, so as long as your ID's are unique within that context, your jQuery should work in all browsers.
As you realize, though, it is ill-advised to use ID's in this manner, in templates.
Since multiple identical ID's are not allowed, there is no specification for how they should be handled. It can never be guaranteed that all browsers will continue to support the code you're writing. That code will behave the way you expect on all major browsers today, though.
Workarounds would be using classes, or logic in your templating engine to ensure unique ID's, e.g. templateID-control-2-myButton.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…