【问题标题】:Get width of button Javascript without the "px"获取没有“px”的按钮Javascript的宽度
【发布时间】:2013-10-24 13:31:38
【问题描述】:

我有一些代码可以获取按钮的宽度,但它总是返回最后带有“px”的按钮的宽度。有没有一种简单的方法(不创建删除最后两个字符的函数)在没有“px”部分但仍以像素为单位的情况下获取宽度?

jsfiddle example

<button name="test" id="mybutton" onclick="alert(this.style.width);" style="width:200px;">Click me</button>

提前致谢

【问题讨论】:

    标签: javascript html button width


    【解决方案1】:

    嘿,一个简单的答案是在数字上使用 parseInt

    <button name="test" id="mybutton" onclick="alert(parseInt(this.style.width,10));" style="width:200px;">Click me</button>
    

    在这里查看小提琴http://jsfiddle.net/XdADS/6/

    【讨论】:

    • 总是将第二个参数传递给parseInt
    • 好点,它默认为 10,但你是正确的,它是包含它的最佳实践,所以我更新了我的答案。
    • 你放错了右括号,我无法编辑,因为它少于 6 个字符>
    • 实际上它默认为“猜测”。例如,parseInt("0x10") 返回 16,而 parseInt("0x10",10) 返回 0。在某些浏览器中,以 0 开头的数字被视为八进制,例如 parseInt("010") 将返回 8。
    【解决方案2】:

    你可以在最后放弃替换吗?

    <button name="test" id="mybutton" onclick="alert(this.style.width.replace('px', ''));" style="width:200px;">Click me</button>
    

    请记住,如果您的宽度为 em、rem 或百分比等...这将为您提供 CSS 声明大小,例如12 代表 12em 而不是实际大小,否则您需要使用类似的东西:

    this.offsetWidth
    

    【讨论】:

      【解决方案3】:

      使用parseInt()

      onclick="alert(parseInt(this.style.width,10));
      

      Fiddle Example

      【讨论】:

      • 这是正确的。您应该始终传递基数,特别是如果您希望它正确 lint。
      【解决方案4】:

      正确代码:

      <button name="test" id="mybutton" onclick="alert(this.style.width.replace('px',''));" style="width:200px;">Click me</button>
      

      【讨论】:

        【解决方案5】:

        如果没有明确声明宽度,那么唯一的选择是使用:

        id_of_btn.offsetWidth
        

        根据w3school,offsetWidth: "返回一个元素的宽度,包括内边距、边框和滚动条"

        来源:https://www.w3schools.com/jsreF/dom_obj_all.asp

        【讨论】:

          【解决方案6】:

          您可以使用 jQuery 的 width() 函数来实现这一点。

          【讨论】:

            猜你喜欢
            • 2013-05-31
            • 2020-04-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-16
            • 2011-12-08
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多