代码之家  ›  专栏  ›  技术社区  ›  tolism7

在IE中使用jquery获取按钮的宽度属性值

  •  0
  • tolism7  · 技术社区  · 16 年前

    在我的页面上有这个按钮:

    <input type="button" id="Button1" value="OK" class="buttonClass" width="150px"/>
    

    使用jquery 1.3.2,如果我运行这个命令:

    alert($('.buttonClass').attr('width'));
    

    我在所有浏览器中都得到“150px”,但在IE(任何版本)中,我得到“0”。

    如果我在按钮的标记中添加了一个custon属性,如下所示:

    <input type="button" id="Button1" value="OK" class="buttonClass" myattribute="150px"/>
    

    然后命令:

    alert($('.buttonClass').attr('myattribute')); 
    

    适用于所有浏览器,包括IE,并返回“150px”。

    有人知道这是怎么回事吗?如果有解决办法的话?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Tim Down    16 年前

    更新:简化和删除了有关使用DOM属性的内容,而不是 attr() .

    首先,输入的宽度和高度属性应该是整数,而不是长度值;假定为像素。

    其次,这就是导致问题的原因(正如您可以通过将输入类型更改为“图像”来证明的那样),宽度和高度属性仅适用于并且仅影响浏览器中对类型输入的渲染。 image . 对于按钮,您需要使用CSS来更改尺寸。

        2
  •  0
  •   Mutation Person    16 年前

    你能保证.buttonclass是独一无二的吗?

    如果可以的话,最好还是按ID选择