jquery简单的问题

时间:2013-01-04 20:40:32

标签: jquery

我是jquery的新手..我有这个HTML代码

<div id='input'>
<table>
    <tr>
    <td class="number">
    <input><input><input><input><br>
    </td>
    <td style="vertical-align:bottom"><button>+</button></td>
    </tr>
    <tr>
    <td class="number">
    <input><input><input><input><br>
    </td>
    <td style="vertical-align:bottom"><button>+</button></td>
    </tr>
</table>
</div>

和我的脚本部分

jQuery.fn.vcenter = function(parent) {
    if (parent) {
        parent = this.parent();
    } else {
        parent = window;
    }
    this.css({
        "position": "absolute",
        "left": ((($(parent).width() - this.outerWidth()) / 2) + $(parent).scrollLeft() + "px"),
    });
return this;
}
jQuery.fn.hcenter = function(parent) {
    if (parent) {
        parent = this.parent();
    } else {
        parent = window;
    }
    this.css({
        "position": "absolute",
        "top": ((($(parent).height() - this.outerHeight()) / 2) + $(parent).scrollTop() + "px"),
    });
return this;
}
jQuery.fn.center = function(parent) {
    if (parent) {
        parent = this.parent();
    } else {
        parent = window;
    }
    this.css({
        "position": "absolute",
        "top": ((($(parent).height() - this.outerHeight()) / 2) + $(parent).scrollTop() + "px"),
        "left": ((($(parent).width() - this.outerWidth()) / 2) + $(parent).scrollLeft() + "px"),
    });
return this;
}
$(document).ready(function(){
$("#input").vcenter(true);
});
$("#input:button").click(this.parent().prev().html()+="<input><input><input><input><br>");
我基本上尝试做的是每次点击具有id“输入”的元素内的按钮 该脚本执行以下操作:脚本转到父元素(),然后转到上一个兄弟!然后在其html内添加以下内容:"<input><input><input><input><br>"
我做完了我的作业!我需要帮助!这有什么不对?

2 个答案:

答案 0 :(得分:0)

.click()处理程序将函数作为其参数。

所以

$("#input button").click(this.parent().prev().html()+="<input><input><input><input><br>");

会变成

$("#input button").click(function(event) {
    var old_html = $(this).parent().prev().html();
    $(this).parent().prev().html(old_html+"<input><input><input><input><br>");
});

答案 1 :(得分:0)

您有一些语法错误。试试:

$("#input:button").click(function(
    //$(this) or $(".number") depending on your need
    $(this).parent().prev().html(
        $(this).parent().prev().html()+="<input><input><input><input><br>")
    );
});