0

我有以下代码。它工作正常,但我想知道第三行是否是最佳实践。当元素 myID 在页面上时,它的属性会发生变化。然而,它不是在每一页上,所以经常这无济于事。这对我来说似乎无害,但有什么我不知道的缺点吗?

    $(document).ready(function () {
        if ($(window).width() < 700) {
            $('#myID').attr('size', 1)
        }
    });
4

2 回答 2

3

来自jquery attr 文档

.attr() 方法仅获取匹配集中第一个元素的属性值。要单独获取每个元素的值,请使用循环构造,例如 jQuery 的 .each() 或 .map() 方法。

.attr()方法尝试在 jquery 对象的第一个元素上设置属性。如果 jquery 对象为空,则什么也不会发生。

于 2012-12-17T12:24:54.470 回答
2

为了确定,您可以在对其执行任何操作之前检查对象是否存在

$(document).ready(function () {
    if ($(window).width() < 700 && $('#myID').length) {
        $('#myID').attr('size', 1);
    }
});
于 2012-12-17T12:24:25.577 回答