为什么使用jQuery设置属性会得到与使用DOM方法设置不同的结果呢

Why should setting attributes using jQuery give any different results than that from setting using DOM methods?

本文关键字:设置 方法 结果 DOM 属性 jQuery 为什么      更新时间:2023-09-26

我正在更改javascript中某个操作的输入字段的位置。如果我使用jQuery来更改位置,它就是不起作用,即使我可以在浏览器源中看到该输入字段的属性更新为所需值。然而,如果我使用纯javascript设置样式,它就可以正常工作。有人能指出以下区块之间的区别吗?

        document.getElementById('prompt').style.left = X;
        document.getElementById('prompt').style.top = Y;
        document.getElementById('prompt').style.position = 'absolute'
        $('#prompt').attr("left",X);
        $('#prompt').attr("top",Y);
        $('#prompt').attr("position","absolute");

我在chrome版本32.0.1700.102 m 上运行此程序

这些是CSS属性,而不是HTML属性,所以您需要使用CSS,而不是attr:

$('#prompt').css({left: X, top: Y, position: 'absolute'})