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

关于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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作