如何在jquery中使用动态id

时间:2012-04-28 09:32:21

标签: javascript jquery hover

我正在使用它来指出表中的单独td。并且id(dynid)是动态创建的,因此当用户将鼠标悬停在td上时,我需要将位置更改为绝对。我尝试下面的一个,但它不是wroks

$('#selectTable tr td #td'+dynid).hover(

 function () {

   $(this).css("position","absolute");

 }
);

提前致谢

2 个答案:

答案 0 :(得分:2)

您正在寻找td元素中的元素,但您希望td元素具有特定ID。有空白。您需要td#id而不是td #id

dynid = 2; // Test

$('#selectTable tr td#td' + dynid).hover(
    function () {
        $(this).css("position","absolute");
    }
);

背景色的样本
http://jsfiddle.net/FKhbd/

如果悬停结束,您可能需要定义第二个处理程序。像这样:

$('#selectTable tr td#td' + dynid).hover(
    function () {
        $(this).css("position","absolute");
    },
    function () {
        $(this).css("position","relative");
    }
);

答案 1 :(得分:0)

可能您的选择器错误:'#selectTable tr td #td'+dynid应该成为'#selectTable tr td#td'+dynid。你也应该明智地切换一个设置位置的css类:绝对如此:

$("#selectTable td").hover(function () {
    $(this).addClass("pos-abs"); // focus
}, function () {
    $(this).removeClass("pos-abs"); // blur
});

请参阅http://api.jquery.com/hover/