元素的jQuery选择器不在每个页面上。

时间:2012-12-17 12:07:18

标签: jquery

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

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

2 个答案:

答案 0 :(得分:3)

来自jquery attr doc

  

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

.attr()方法尝试在jquery对象的第一个元素上设置属性。如果jquery对象为空,则没有任何反应。

答案 1 :(得分:2)

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

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