0

我是 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“输入”
的按钮时,脚本执行以下操作:脚本转到父元素(the),然后是前一个兄弟元素!然后在其 html 内部添加以下内容:"<input><input><input><input><br>"
我已经完成了我的作业!我需要帮助!这里有什么问题?

4

2 回答 2

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>");
});
于 2013-01-04T20:46:13.717 回答
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>")
    );
});
于 2013-01-04T20:46:28.047 回答