jquery怎么给元素设置属性

Posted cyndi_超努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery怎么给元素设置属性相关的知识,希望对你有一定的参考价值。

设置方法:1、使用attr()方法,语法“$(selector).attr(属性名,值)”或“$(selector).attr(属性名:值;)”;2、使用prop()方法,语法“$(selector).prop(属性名,值)”。

1、使用attr()方法 

attr() 方法设置或返回被选元素的属性值。根据该方法不同的参数,其工作方式也有所差异。

语法:

//单个属性

$(selector).attr(属性名,值)

//多个属性

$(selector).attr(属性名:值;属性值:值...)

 2、使用prop()方法

prop() 方法设置或返回被选元素的属性和值。

当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。

语法:

//单个属性

$(selector).prop(属性名,值)

//多个属性

$(selector).prop(属性名:值;属性值:值...)

3、attr()和prop()方法的区别

prop() 方法和 attr() 方法相似,都是用来获取或设置元素的 html 属性的,不过两者也有着本质上的区别。

jQuery 官方建议:具有 true 和 false 这两种取值的属性,如 checked、selected 和 disabled 等,建议使用 prop() 方法来操作,而其他的属性都建议使用 attr() 方法来操作。

示例:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8" />

        <script src="js/jquery-1.10.2.min.js"></script>

        <script>

            $(function () 

            $('input[type="radio"]').change(function()

                var bool = $(this).attr("checked");

                if(bool)

                    $("p").text("你选择的是:" + $(this).val());

                

            )

        )

    </script>

    </head>

    <body>

        <div>

            <label><input type="radio" name="fruit" value="苹果" />苹果</label>

            <label><input type="radio" name="fruit" value="香蕉" />香蕉</label>

            <label><input type="radio" name="fruit" value="西瓜" />西瓜</label>

        </div>

        <p></p>

    </body>

</html>

 预览效果如图 1 所示。

分析: 

$().change(function()

    ……

)

在这个例子中,我们其实是想通过$(this).attr("checked")判断单选框是否被选中,如果被选中,就获取该单选框的 value 值。可是运行代码后发现:完全没有效果!这是为什么呢?

实际上,对于表单元素的 checked、selected、disabled 这些属性,我们使用 attr() 方法是没法获取的,而必须使用 prop() 方法来获取。因此,我们把 attr() 方法替换成 prop() 方法就有效果了。

其实,prop()方法的出现就是为了弥补 attr() 方法在表单属性操作中的不足。记住一句话:如果某个属性没法使用 attr() 方法来获取或设置,改换 prop() 方法就可以实现。

jquery怎么给一个DIV设置坐标

jquery给一个DIV设置坐标:
jquery中设置div的坐标位置的方法是通过offset实现的。
1、获取到div对象并且获取到当前偏移位置
var p = $("#elementId");对象
var offset = p.offset(); 位置
2、设置坐标位置,一般之关系距离顶部和左部的坐标:
$("#secondElementId").offset( top: offset.top, left: offset.left)
参考技术A div 先要是定位的元素
然后设置top 和left 值就可以了
参考技术B var msnPopWin;
$().ready(function()

msnPopWin= $('#loft_win');
);
// -- 得到当前div:loft_win'位置
var offset = msnPopWin.offset();
//alert("left:"+offset.left+",top:"+offset.top);
// -- 重新设置div:loft_win'位置
msnPopWin.css("position","absolute");

msnPopWin.css("top",offset.top - 20);

以上是关于jquery怎么给元素设置属性的主要内容,如果未能解决你的问题,请参考以下文章

jquery怎么给一个DIV设置坐标

jquery判断数组是不是为空

jquery判断是不是有某个属性

用jquery创建的元素属性为啥大写都变小写了

如何使用JQuery给自定义属性赋值取值

使用jquery怎么根据ID给元素赋值