附加Jquery后值未定义

时间:2011-05-05 14:14:19

标签: jquery append

我在附加功能方面遇到了一些麻烦。我使用这段代码:

        $('.videoblock .title').each(function(){            
        var href = $(this).attr('href');
        $('body').append('<input type="text" id="'+i+'" value="'+href+'">');
        $('body').append($(this).attr('title'));            
    }); 

这将返回2个输入字段,其值为:undefined和正确的值。 怎么会这样?

此致

2 个答案:

答案 0 :(得分:0)

如果输入的值未定义,则表示它正在为href返回未定义的值。带有“title”标签的元素是否带有href?我会调试并确保$(this)真的是你认为的。

答案 1 :(得分:0)

这是因为它以错误的方式更新了DOM。当您使用append时,它会重新定义正文的innerHTML,从而导致DOM生成所有新元素,从而生成旧元素undefined。使用append(element)而不是append(html)