在页面加载时附加变量

时间:2011-02-22 03:29:01

标签: jquery append

我一直在靠墙试图让这个工作起来,我觉得我错过了一些简单的东西。

我有一份DIV列表。每个div内部都是文本输入。我从每个输入中获取变量,只想将它附加到div的末尾。

使用click事件按预期工作,但我希望在页面LOADS时附加它。 :(

这是我的代码:

$('.myDiv').click(function (){
    var t = $('input:text', this).val();
    $(this).append(t);
});

如何将此附加到页面就绪或加载?谢谢!

4 个答案:

答案 0 :(得分:1)

只需将.click()添加到结尾:

$(function() {
    $('.myDiv').click(function (){
        var t = $('input:text', this).val();
        $(this).append(t);
    }).click();
     //  ^----------invoke the handler on each <div> on page load
});

或者如果您在页面加载时只是 而没有处理程序,请使用each()[docs]方法迭代元素,运行代码:

$(function() {
    $('.myDiv').each(function (){
        var t = $('input:text', this).val();
        $(this).append(t);
    });
});

如果您使用的是jQuery 1.4或更高版本,或者甚至更短一点:

$(function() {
    $('.myDiv').append(function (){
        return $('input:text', this).val();
    });
});

答案 1 :(得分:0)

你可以这样做:

$(document).ready(functon() {
   $('.myDiv').each(function (){
     var t = $('input:text', this).val();
     $(this).append(t);
   }
});

这可以做你想要的,而不需要模拟点击。

答案 2 :(得分:0)

使用each ...

$(document).ready(function() { 
    $('.myDiv').each(function (){
        var t = $('input:text', this).val();
        $(this).append(t);
    });
});

答案 3 :(得分:0)

使用

$(document).load(function...)