使用jquery返回属性值 $(文档).ready(函数(){ $(“#目标”)。单击(函数(){ 警报($(this.attr(“宽度”)); }); }); #目标{ 高度:300px; 宽度:300px; 背景色:#0094ff; }
我试图返回html元素的属性值。(这里:目标(html元素)的宽度(属性))。 但它提醒我“未定义”使用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"));
你知道为什么吗?你没有要求获取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"));
});