访问元素的经典方法是:
<div id="myId"></div>
<script type="text/javascript">
$(document).ready(function(){
$('#myId').something();
});
</script>
很多时候没有明确的id来访问一个元素,我们最终使用了class属性的值,但我们永远无法确定是否只有一个这样的元素页面。
在写了这个或类似的代码数千次之后,我开始怀疑:
有没有办法使用上下文直接引用HTML元素?
我在考虑这样的事情:
<div>
<script type="text/javascript">
$(document).ready(function(){
$.getContext().something(); // accessing the encapsulating div
});
</script>
</div>
或类似的东西?
答案 0 :(得分:0)
您可以将可选的第二个上下文参数传递到context
所在的jQuery(selector, context)
:
用作上下文的DOM元素,文档或jQuery
例如,在您的示例中,您可以将this
传递给选择器以引用document
上下文:
$(document).ready(function(){
$('#myId', this).something();
});
这个例子是因为ID选择器而设计的,因为document是默认的上下文。一个更好的例子是:
$('div.foo').click(function() {
$('span', this).addClass('bar');
});