我正在学习使用 jquery 并正在制作一些测试页面以供练习。
对于此示例,我使用 jquery 将函数“showAddToDb()”绑定到按钮。当按下该按钮时,jquery 应该将以下 html 表单代码附加到由 id“memberContent”标记的 div 中(我在这里省略了)。
$(document).ready(function() {
$('#addToDb').bind('click',showAddToDb);
});
function showAddToDb() {
var form = $("<div></div>");
var formName = "<div class=\"formRow\"><label for=\"name\">Name: </label><input class=\"nameInput\" type=\"text\" name=\"name\"/></div>";
var formLocation = "<div class=\"formRow\"><label for=\"location\">Location: </label><input class=\"locationInput\" type=\"text\" name=\"location\"/></div>";
var formDes = "<div class=\"formRow\"><label for=\"description\">Description: </label><textarea class=\"descriptionInput\" name=\"description\" rows=\"10\" maxlength=\"1000\"></textarea></div>";
var formPrice = "<div class=\"formRow\"><label for=\"price\">Price: </label><input class=\"priceInput\" type=\"text\" name=\"price\"/></div>";
var formSubmit = "<div class=\"formRow\"><button onclick=\"addToDb()\">Submit</button></div>";
form.append(formName);
form.append(formLocation);
form.append(formDes);
form.append(formPrice);
form.append(formSubmit);
$('#memberContent').append(form);
}
上面的代码有效,但我努力让它工作,我的问题是它为什么有效。为了让它工作,我不得不将函数的第一行从更改var form = "<div></div>";
为var form = $("<div></div>");
我知道美元符号代表 jquery 调用,但我不确定为什么在这种特殊情况下我需要它。另外,我是否应该也将所有其他变量包装起来以$()
进行附加?它按原样工作,但我在网上看到了一些例子,这些例子没有解释原因。