使用jquery返回属性的值

时间:2015-04-03 11:08:22

标签: jquery

<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>

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

你知道为什么吗?

5 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

$("#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"
});

答案 2 :(得分:0)

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

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

你的问题:

但是警告&#34;未定义&#34;为了我。你知道为什么吗?!!

正如我上面所写,你试图得到你的div的属性,如(在你的情况下不存在。)

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

这是#target div的属性宽度。这是警告undefined的主要原因。

答案 3 :(得分:0)

您正在设置css的width属性而不是html属性(也为您的信息,html属性&#34;宽度&#34;已弃用)以访问css属性width use:

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

答案 4 :(得分:-1)

试试这可能会对你有所帮助

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

    });
    });