如何在onclick属性中传递'this'和其他参数

时间:2018-01-16 20:13:32

标签: javascript jquery html

如何在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}}

从代码注释中可以看出,参数变得混乱,其中一个显示未定义。有任何想法吗?

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方式