jQuery选择器在jQuery事件中不起作用

时间:2009-05-29 17:25:45

标签: jquery asp.net-mvc

以下代码生成

function (value) {
    if (value === undefined) {
        var elem = this[0];
        if (elem) {
            if (jQuery.nodeName(elem, "option")) {
                return (elem.attributes.value || {}).specified ? elem.value : elem.text;
            }
            if (jQuery.nodeName(elem, "select")) {
                var index = elem.selectedIndex, values = [], options = elem.options, one = elem.type == "select-one";
                if (index < 0) {
                    return null;
                }
                for (var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++) {
                    var option = options[i];
                    if (option.selected) {
                        value = jQuery(option).val();
                        if (one) {
                            return value;
                        }
                        values.push(value);
                    }
                }
                return values;
            }
            return (elem.value || "").replace(/\r/g, "");
        }
        return undefined;
    }
    if (typeof value === "number") {
        value += "";
    }
    return this.each(function () {if (this.nodeType != 1) {return;}if (jQuery.isArray(value) && /radio|checkbox/.test(this.type)) {this.checked = jQuery.inArray(this.value, value) >= 0 || jQuery.inArray(this.name, value) >= 0;} else if (jQuery.nodeName(this, "select")) {var values = jQuery.makeArray(value);jQuery("option", this).each(function () {this.selected = jQuery.inArray(this.value, values) >= 0 || jQuery.inArray(this.text, values) >= 0;});if (!values.length) {this.selectedIndex = -1;}} else {this.value = value;}});
}

调用警报时。我本以期待看到“你好”。无论出于何种原因,我都可以使用选择器来触发jQuery事件,但是当我尝试使用该事件中的任何DOM元素时,它都会失败。有什么想法吗?

<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">

    <script type="text/javascript">
        $(function() {


            $("#myButton").click(function() { alert("clicked!"); alert($("#myHTML").val ); });


        }
    );
</script>

    <h2><%= Html.Encode(ViewData["Message"]) %></h2>
    <p>
        To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
    </p>
    <button id="myButton" style="height:50px; width:200px;" >Click Me!</button>
    <div id="myHTML">
    hello
    </div>
</asp:Content>

1 个答案:

答案 0 :(得分:4)

$("#myHTML").val()应该有效。确保包括括号。

另外,为了提醒DIV的内容,.text().html()会更好。