javascript - 为什么在调整大小时更改数据属性在 javascript/jquery 中不起作用

标签 javascript jquery

当我调整窗口大小时,我试图更改 facebook comment div 的大小。这是我的代码:

$(document).ready(function(){
    var $window = $(window);

        function checkWidth() {
            var windowsize = $window.width();

            if (windowsize < 768) {
                $(".fb-comments").attr("data-width","767");

            }
        }

        checkWidth();

        $(window).resize(checkWidth);
    })

此代码适用于加载页面。如果我在浏览器调整大小小于 768px 宽的情况下加载页面,则代码可以正常工作,并且 div 的数据宽度变为 767。但是如果在正常宽度屏幕中加载页面并调整大小,则不会。为什么?

最佳答案

data-width 是 Facebook 脚本在渲染期间读取和操作的属性。如果不触发该脚本的事件,就没有理由认为会发生调整大小,因为浏览器会忽略数据属性。相反,使用 CSS。

if (windowsize < 768) {
    $(".fb-comments").width("767");
}

http://jsfiddle.net/isherwood/vmnnc/

关于javascript - 为什么在调整大小时更改数据属性在 javascript/jquery 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658029/

相关文章:

javascript - 计数.js : not starting to count up

javascript - 为什么这会保留列表组项目上 ('click' )之后先前单击的 id?

javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null

javascript - 如何根据键从对象文字返回值?

javascript - 动画脚本在 Chrome 以外的浏览器中不起作用

javascript - 如何使用 jquery AJAX 从页面回调多个变量

javascript - 保存(转义?)html 并在 json 对象中使用它

javascript - Jquery attr() 在点击函数中不起作用

javascript - 删除对象数组条目

javascript - 如何检查对象数组是否具有相同的值