关于jQuery中attr方法无效的问题
代码如下:
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设置定位
$("div").attr 这个值针对标签的属性才能用
如果你要用这个
那就得是这样了
$("div").attr("style","left:100px;top:100px;")
但是这样做会有一个问题,就是如果本身style属性还有其他的样式就会没有了哦
否则就只能用
$("div").css("left","100px");
$("div").css("top","100px");
准确来讲,div下的width和height是属于style标签下的属性,一般建议使用css或者style方法,必须使用attr的话,可以采用以下的形式: $("div").attr("style","left: 100px;top:100px;");
attr修改的是html标签的属性,left和top是css的属性,想要用attr的话应该对html标签的style属性进行赋值
attr换成css
attr是设置class属性值的吧,设置多个样式改成css下边这样试试
$("div").css({
left: 100px,
top: 100px,
});
语法没错 ,但是 left和top 得结合定位了吧 .而且 设置 left,top这种 得用 css 。用attr是直接加到 元素上了
https://www.w3school.com.cn/tiy/t.asp?f=jquery_attributes_attr_set
@程鹏; 大佬可以帮忙看看吗