gpt4 book ai didi

javascript - 在 $.each 函数中传递对象

转载 作者:行者123 更新时间:2023-12-02 17:35:36 25 4
gpt4 key购买 nike

我在将对象传递给函数并附加到页面时遇到问题。真的有必要使用原型(prototype)吗?从这里link帮助我理解了一些,但仍然没有成功。

在我的$.each上,将通过服务器添加一些标记,这些标记将有一个链接到一个页面,以提供有关该地点的描述x 是我的对象,描述是我想附加它。

$.each(data, function (i, x) {
var alerts = '<button type="button" onclick="getInfo(' + x + ')">AAAA YEAHHH</button>';
}

function getInfo(x) {
...//go to a page and append it
$('#about-info').append(x.description);
}

最佳答案

您可以像这样附加点击处理程序:

$.each(data, function (i, x) {
$('<button type="button">AAAA YEAHHH</button>').on('click', function () {
getInfo(x);
}).appendTo('body');
}

或者

因为您知道该属性是x.description,所以您可以像这样直接获取值

$.each(data, function (i, x) {
var alerts = '<button type="button" onclick="getInfo(\'' + x.description + '\');">AAAA YEAHHH</button>';
}

\'' + x.description + '\' 的解释

  • ... \'正在转义单引号,以便它可以作为文字值包含在您正在创建的 javascript 字符串中。
  • 下一个单引号结束最初开始的字符串 '<button ... .
  • + x.description +正在连接描述属性的值 - 我们不会将 x 或 x.description 的引用传递到 getInfo 中,而是使用任何 x.description 调用 getInfo 包含创建分配给警报 的字符串。
  • '\' ...这里第一个单引号开始一个新字符串,然后该字符串的第一个字符包含一个单引号作为文字值(即像这样转义单引号 \' )

在 javascript 中,您可以使用双引号或单引号来创建字符串,因此您也可以这样做

var alerts = "<button type=\"button\" onclick=\"getInfo('" + x.description + "');\">AAAA YEAHHH</button>";

但是由于我们使用双引号来创建字符串,因此我们必须转义要包含在字符串中的双引号,如下所示 \"

关于javascript - 在 $.each 函数中传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22646628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com