使用jquery返回属性值 $(文档).ready(函数(){ $(“#目标”)。单击(函数(){ 警报($(this.attr(“宽度”)); }); }); #目标{ 高度:300px; 宽度:300px; 背景色:#0094ff; }

使用jquery返回属性值 $(文档).ready(函数(){ $(“#目标”)。单击(函数(){ 警报($(this.attr(“宽度”)); }); }); #目标{ 高度:300px; 宽度:300px; 背景色:#0094ff; },jquery,Jquery,我试图返回html元素的属性值。(这里:目标(html元素)的宽度(属性))。 但它提醒我“未定义” 你知道为什么吗?你没有要求获取css height属性,而是试图获取div的属性。相反,你应该尝试使用.css(prop)方法: <script> $(document).ready(function () { $("#target").click(function () { alert($(this).attr("width"));

我试图返回html元素的属性值。(这里:目标(html元素)的宽度(属性))。 但它提醒我“未定义”


你知道为什么吗?

你没有要求获取css height属性,而是试图获取div的属性。相反,你应该尝试使用
.css(prop)
方法:

<script>
    $(document).ready(function () {
        $("#target").click(function () {
            alert($(this).attr("width"));
        });
    });
 </script>

<style>
    #target {
        height:300px;
        width:300px;
        background-color:#0094ff;
    }
</style>

<body>
    <div id="target"></div>
 </body>
$("#target").click(function () {
    alert($('#target').width()); //300: always returns integer as px unit
    alert($('#target').css('width')); //300px: return width with string with suffix "px"
});
你的问题:

但它提醒我“未定义”。你知道为什么吗

正如我在上面所写的,您试图获得div-like的属性(在您的情况下,它不存在):



这是您的
#target
div的属性宽度。这是发出
未定义的
警报的主要原因。尝试此操作可能会对您有所帮助

<div id="target" width='500'></div>
<!---------------^^^this^^^-->

您正在设置css的width属性,而不是html属性(请注意,html属性“width”已弃用)以访问css属性width。请使用:

    $(document).ready(function () {
    $("#target").click(function () {
        $(this).setAttribute("width", "480");

    });
    });
<div id="target" width='500'></div>
<!---------------^^^this^^^-->
    $(document).ready(function () {
    $("#target").click(function () {
        $(this).setAttribute("width", "480");

    });
    });
$("#target").click(function () {
    alert($(this).css("width"));
});