传递变量 Javascript
Passing Variables Javascript
本文关键字:Javascript 变量 更新时间:2023-09-26
我正在尝试在javascript中传递一个变量。我以以下方式创建了一个链接,一切似乎都在工作。
label.innerHTML = '<a href="#" onclick="show_box(this);"> link</a>';
但是,当我以以下方式创建链接时,链接也会传递关联的对象,我从 firebug 收到以下错误 ->元素列表后"缺少]
label.innerHTML = '<a href="#" onclick="show_box(this,'+object+');"> link</a>';
这是将对象传递给函数的可接受方式吗?问题是我正在函数中创建此链接。该函数基于传递给它的对象创建这样的链接。因此,我不能将这个"对象"作为全局范围。
您是通过将字符串混合在一起来构建脚本的,因此您只能使用字符串,并且object
将自动字符串化。
请改用 DOM。
var link = document.createElement('a');
link.href = "#"; // Have a more sensible fall back for status bar readers and middle clickers
link.appendChild(document.createTextNode(' link');
link.addEventListener('click',function () { show_box(this, object); },false);
label.appendChild(link);
。但是使用一个库来抽象出某些浏览器具有的非标准事件模型。
您要做的是将object
的内容传递给输出。由于它是一个对象,字符串表示形式将类似于 [object Object]
.输出 HTML 如下所示:
<a href="#" onClick="show_box(this, [object Object]);">link</a>
这是无效的。不要尝试连接对象,只需将其作为另一个参数传递给函数,例如 this
。或者,更好的是,使用jQuery:
<!-- somewhere in the head, or at least after the object is defined -->
<script type="text/javascript">
$(function() {
$('#thelink').click(function() { show_box(this, object); });
});
</script>
...
<a href="#" id="thelink">link</a>
如果你的对象是简单的变量,如数字或字符串变量,那么它将是好的,但如果你传递html对象,它将不起作用,因为它将是如下所示的东西。
<a href="#" onclick="show_box(this,[object HTMLDivElement]);"> link</a>
相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量