我是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>"
答案 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>")
);
});