假设我有多个使用名为submit的类的按钮.我将此引用添加到jQuery.
单击按钮时;它应该被禁用.
我可以使用的脚本:
A.$(‘.submit’).click(function(){this.disabled = true;});
B. $(‘#submit’).click(function(){this.prop(‘disabled’),true); });
C. $(‘#submit’).click(function(){$(this).disabled = true;});
D. $(‘.submit’).click(function(){$(this).prop(“disabled”,true);});
正确答案是D.
所以,就个人而言,我很确定它是C.(这是错误的)因为我在提交之前看到#.我这样做的很多,我试着假设我知道正确的选择器是什么.我总是认为#是正确的.
事后回答,问题是它是一个类,所以我相信它就是一个类.是合适的.但是,如果没有被告知它是一个班级,我会猜到.
有时候我会看到像#imnotaclass这样引用的id或者你有什么,这让我感到困惑.
有人可以更好地向我解释jquery选择器,何时使用#,.,或
在jQuery中有关于选择器的文档.其他语言之间是否存在连续性,即css,html.我注意到那些2我可以通过一些东西并在所有方面使用#.然而,它将是一个id,但它仍然有效.
我提出这个的原因是为了更好地理解;在考试中,正确的答案是什么.
解决方法:
如果“提交”是一个类名,那么正确的答案是A:
$('.submit').click(function () { this.disabled = true; });
因为它是唯一一个选择具有该类名的元素并在事件处理程序中正确设置disabled属性的答案.
事件处理程序中的代码对于选项B,C和D是错误的,因此无法将它们视为正确.
问题似乎是检查你对三件事的知识:1)CSS选择器语法,2)如何在DOM元素上设置属性和3)在jQuery事件处理程序中它的价值是什么以及如何使用它.
在事件处理程序中设置disabled属性的两种正确方法是:
// use direct DOM property access
this.disabled = true;
// use jQuery's .prop()
$(this).prop("disabled", true);
至于CSS选择器语法基础:
以#开头的选择器定位HTML中标识为id =“xxx”的ID值,或者设置为DOM元素上的属性.
所以“#submit”引用一个id为的单个元素
<button id="submit">Press Here</button>
以…开头的选择器.目标是在HTML中用class =“xxx”标识的类名,或者设置为DOM元素的属性.
所以“.submit”引用具有给定类名的一个或多个对象,如
<button class="submit">Press Here</button>
ID值在文档中必须是唯一的(仅用于一个元素).类名可以根据需要用在任意数量的元素上.
如果您想了解有关jQuery使用的选择器的更多信息,可以阅读this tutorial.
如果你打算在事件处理程序中使用jQuery,那就是:
$('.submit').click(function () {
$(this).prop('disabled', true);
});
如jQuery documentation中的.prop()所示.
如果“submit”是一个id值,那么正确的答案是:
$('#submit').click(function () {
$(this).prop('disabled', true);
});
在jQuery事件处理程序中,this的值将是您为事件注册的DOM元素.这意味着如果你使用像this.id这样的东西,那么你必须引用DOM属性或调用DOM方法.
如果你想调用jQuery方法,那么你可以使用$(this)将它变成一个jQuery对象,这样你就可以使用jQuery方法或属性了.
请记住,每个jQuery对象都包含零个或多个DOM元素的数组.您可以通过$(this)[0]中的数组语法或$(this).eq(0)中的.eq()方法访问jQuery对象中的各个DOM元素,并且jQuery对象具有. length属性,告诉你数组中有多少个DOM元素,如$(this).length === 1.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。