相当讽刺的问题,我可能正在考虑这个错误,但是......
有没有办法将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函数进行处理。
我是否以错误的方式思考这个问题?
答案 0 :(得分:1)
不,您不能将对象的引用嵌入到标记中。
相反,您可能希望在Javascript / jQuery中设置您的点击事件:
var object = new Object();
$('<div/>').appendTo('body').click(function() {
testThis(object);
});
function testThis(value) {
console.log(value);
}