.attr()没有按预期工作

时间:2018-06-13 17:51:11

标签: javascript jquery html

我希望用户只需点击一下按钮即可更改div的文字颜色,宽度,高度等。我无法在div上使用此功能。

但是,如果我在图像上放置了完全相同的代码而不是div,则可以正常工作。

这是我正在使用的小演示:

<!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    </head>
    <body>
        <button id="mainButton">Click me</button>
        <div id="dummyText">
            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. 
            Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, 
            ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, 
            aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum 
            felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend 
            tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, 
            feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies 
            nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui.
        </div>
        <img src="https://cdn.sstatic.net/Sites/stackoverflow/img/apple-touch-icon@2.png?v=73d79a89bded">
        <script>
            $(document).ready(function() {
                $("#mainButton").on('click' ,function(){
                    $('div').attr('width','500');
                    $('img').attr('width', '500');
                });
            });
        </script>
    </body>
    </html>

这可能是我忽略的东西,但不能完全指责它。

提前致谢

2 个答案:

答案 0 :(得分:4)

您需要为.attr

切换.css
 $('div').css('width','500');

 $('img').css('width', '500');

https://codepen.io/MathiasaurusRex/pen/mKwGaz

答案 1 :(得分:0)

你可以做到

$('div').width(500);
$('img').width(500);

或:

$('div').css('width', '500px');
$('img').css('width', '500px');