我可以将JS对象或JS对象的引用传递给HTML标记中的函数吗?

时间:2012-02-22 16:24:54

标签: javascript html parameter-passing pass-by-reference

相当讽刺的问题,我可能正在考虑这个错误,但是......

有没有办法将javascript对象(或对它的引用)传递给HTML标记中的javascript函数?

例如:

<script type="text/javascript">
    var myObject = new Object();
    $('body').append('<div onclick=testThis(' + myObject + ')></div>');

    function testThis(object)
    {
        console.log(object);
    }
</script>

当我检查时,标记最终看起来像这样:

<div onclick="testThis([object Object])"> 

附加背景:

真实用例是一个搜索页面,我在其中通过AJAX查询SOLR并将结果作为JS对象返回。当用户点击代表其中一个搜索结果的HTML标记时,我希望能够将对象(或对它的引用)传递给单独的JS函数进行处理。

我是否以错误的方式思考这个问题?

1 个答案:

答案 0 :(得分:1)

不,您不能将对象的引用嵌入到标记中。

相反,您可能希望在Javascript / jQuery中设置您的点击事件:

var object = new Object();
$('<div/>').appendTo('body').click(function() {
    testThis(object);
});

function testThis(value) {
    console.log(value);
}