我有以下代码。它工作正常,但我想知道第三行是否是最佳做法。当元素myID在页面上时,其属性会发生变化。然而,它并不是每一页都经常这样做。这对我来说似乎无害,但是有什么缺点我不知道吗?
$(document).ready(function () {
if ($(window).width() < 700) {
$('#myID').attr('size', 1)
}
});
答案 0 :(得分:3)
.attr()方法仅获取第一个元素的属性值 在匹配的集合中。要单独获取每个元素的值, 使用循环结构,如jQuery的.each()或.map()方法。
.attr()
方法尝试在jquery对象的第一个元素上设置属性。如果jquery对象为空,则没有任何反应。
答案 1 :(得分:2)
您可以确定在对其执行任何操作之前检查对象是否存在
$(document).ready(function () {
if ($(window).width() < 700 && $('#myID').length) {
$('#myID').attr('size', 1);
}
});