如何获取动态ID?

3
我想在jQuery中访问动态生成的ID,但它在jQuery中不起作用,但在JavaScript中有效。
我的jQuery代码:
var img =  $("#MAP"+current_img_height);
 $("#map").css({'height': img.height + "px"});

我的 JavaScript 代码:

var img = document.getElementById("MAP" + current_img_height);
$("#map").css({'height': img.height + "px"});

我的jQuery代码有什么问题,如何获取动态id。 非常感谢您的帮助。

2
为什么要使用jQuery,当JavaScript已经很好用了呢? - Reeno
3个回答

6

img 是 jQuery 对象,不是 dom 元素的引用,因此它没有 height 属性,而是具有一个 height() 方法。

$("#map").css({'height': img.height() + "px"});

或者

$("#map").height(img.height());

它可以工作,但是当点击上一个和下一个按钮时,我的地图背景颜色会改变。 - Selva

1

如果你正在使用$('#MAP')[0],那么尝试这个方法可以获得对象。

        document.getElementById('#MAP');//Return DOM Object
        var img = $('#MAP')[0]; //returns a HTML DOM Object

        var img=$('#MAP'+current_img_height)[0];

0

你的代码:

$("#MAP"+current_img_height);

(如果当前图像高度为100)

这意味着 $(“#MAP100”); *(示例:<img id="MAP100"> 具有给定id“ MAP100”的元素)

如果要从元素中获取高度:请按如下方式操作

var height =  $("#whateverID").height();

或者

var height =  $(".whateverClass").height();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接