0

我正在尝试执行以下操作: 2 个 div,可点击返回 div 的“值”。这是通过在 div 上创建(内部)get_value 函数来完成的。

但我真正想要的是有一个按钮,它通过调用 get_value 函数来读取 div 的值。例如,请参见下面的代码。

不幸的是我不能让它工作....

我试图使这些值全球化,但随后它们被覆盖了......

有什么线索吗?

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Js/jquery-1.10.2.js" type="text/javascript"></script>
    <script>


        $(document).ready(function () {
            initdiv("a", 10)
        });
        $(document).ready(function () {
            initdiv("b", 20)
        });

        function initdiv(id, value) {
            function get_value() {
                return value;
            };

            $("#" + id).click(function () {
                alert(get_value());
            });
        }

        function getFoo() {
            var obj = $("#a");
            alert(obj.get_value());
        }
    </script>
</head>
<body>
    <form id="form2" runat="server">
    <div id="a">
        foo
    </div>
    <div id="b">
        bar
    </div>
    <input type="button" onclick="getFoo();" value="click me and get the value of DIV 'foo'" />
    </form>
</body>
</html>
4

1 回答 1

0

It's unnecesary the write the function every time you execute the init_div function. This function will do the same for you:

$('div').click(function() {

    alert($(this).text()); //or '.html()'

});

For the button, you can use the same method:

$('button').click(function() {

    alert($('div#a').text()); //or '.html()'

});

If you want to make it more general, you can use this:

jQuery

function get_value(selector) {

    alert($(selector).text());

}

$(document).ready(function () {

    $('div').click(function () {

        get_value(this);

    });

});

HTML

<input type="button" onclick="get_value('.foo')" value="click me and get the value of DIV 'foo'" />

Working demo: http://jsfiddle.net/yp8V4/

于 2013-07-25T09:09:10.457 回答