呀呼!呀呼! 2022-11-08 01:52 采纳率: 77.3%
浏览 70
已结题

关于jQuery中attr方法无效的问题

关于jQuery中attr方法无效的问题

代码如下:

        <script src="./Jquery/jquery-3.6.1.min.js"></script>
        <script>
            $("div").on("click",(e)=>{
                $("div").attr("left","100px");
                $("div").attr("top","100px");
                // $("div").attr({
                //     left:"100px",
                //     top:"100px"
                // });
                // $("div").css("left","100px");
                // $("div").css("top","100px");
            })
        </script>
div {
                position: absolute;
                left: 50%;
                top: 50%;
                width: 100px;
                height: 100px;
                background-color: aquamarine;
            }

运行结果及报错内容 :
无报错,但是这里无法使用jQuery对象的attr方法更改div属性

我的解答思路和尝试过的方法 :
jQuery的CSS方法可以成功更改这个div的left和top的值,利用原生JS也ok,但是使用这个attr方法就不行。
在网上查找了一下attr方法的语法好像也没什么问题。
然后试了一下prop方法也不行。
现在就挺迷惑的。CSS中也有个div设置定位

  • 写回答

8条回答 默认 最新

  • 一把编程的菜刀 2022-11-08 09:31
    关注

    $("div").attr 这个值针对标签的属性才能用
    如果你要用这个
    那就得是这样了

    $("div").attr("style","left:100px;top:100px;")
    
    

    但是这样做会有一个问题,就是如果本身style属性还有其他的样式就会没有了哦
    否则就只能用

    $("div").css("left","100px");
    $("div").css("top","100px");
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(7条)

报告相同问题?

问题事件

  • 系统已结题 11月16日
  • 已采纳回答 11月8日
  • 创建了问题 11月8日

悬赏问题

  • ¥15 vs2022无法联网
  • ¥15 TCP的客户端和服务器的互联
  • ¥15 VB.NET操作免驱摄像头
  • ¥15 笔记本上移动热点开关状态查询
  • ¥85 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳