如何在HTML onclick属性中传递DOM元素和字符串:
function load_page (_this,page) {
console.log(_this); // 'predictions'
console.log(page); // undefined
$.ajax({
type: "POST",
//data: data,
url: "/controller/"+page,
success: function(response) {
$("#page_content").html(response);
},
error: function(response, textStatus, errorThrown) {
console.log("Status: " + textStatus);
console.log("Error: " + errorThrown);
console.log(JSON.stringify(response));
}
});
}
以上代码调用以下函数:
{{1}}
从代码注释中可以看出,参数变得混乱,其中一个显示未定义。有任何想法吗?
答案 0 :(得分:0)
你没有正确关闭" a" (它需要" / a"),虽然我认为你正在寻找更多的答案,所以这里是我的。
传递超过'这个'一个功能,最好的'方法是使用数据';
<a href="javascript:;" data-something='predictions' onclick="load_page(this)">link</a>
要检索数据:
function load_page (e) {
console.log(e);
var something1 = e.dataset.something;
console.log(something1);
}
使用&#39;数据&#39;,您可以添加所有您喜欢的变量/信息。
我知道,使用&#39;数据&#39;很奇怪。在元素和&#39;数据集&#39;在函数中,但这是关于javascript的一个奇怪的事情。在您学习的过程中,您可以使用jQuery,这样可以更容易地记住命令。
更多关于https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
的javascript方式