gpt4 book ai didi

javascript - 如何将 javascript 中单击的 HTML 行的 id 传递给另一个 javascript

转载 作者:行者123 更新时间:2023-11-30 06:52:02 25 4
gpt4 key购买 nike

到目前为止使用的代码:

var showStores = function (userArray) {

userArray.forEach(function (dat) {

$('.store')
.append('<div id="idstores" name="idstores" value="5" type="hidden"></div>\
<div class="store-img" id="storeImg" value ="5"><img src="' + dat.storeImageUrl + '" /></div>\
<div class="store-text2"><h3>'+ dat.pointsNeeded + ' Hero Points<br>\
' + dat.prize + ' at ' + dat.storeName + '</h3></div></div>').click(function () {
sessionStorage.setItem("idstores", dat.idstores);
});
})
};

从现在开始,点击显示从 1..9 开始的所有 idstore 值。

最佳答案

所以...您想动态创建元素并在创建过程中使它们可点击并将其存储到 sessionStorage 中:

var SSitems = JSON.parse(sessionStorage.idstores) || {},
all$items = []; // Store all created $() items

function create$item( item ){
var $item = $("<div/>", {
// (P.S: DIV cannot have TYPE nor NAME properties)
id : "store_"+ item.idstores,
class : "store",
html : `<div class='store-img'>
<img src='${item.storeImageUrl}'>
</div>
<div class='store-text2'>
<h3>${item.pointsNeeded} Hero Points etc...</h3>
</div>`,
on : {
click : function(){
SSitems[item.idstores] = item;
sessionStorage.idstores = JSON.stringify(SSitems);
console.dir( JSON.parse(sessionStorage.idstores) );
}
}
});
// Now that the div is created and click handler is assigned
all$items.push( $item );
}

function showStores(userArray) {
userArray.forEach(create$item); // Loop / create elements
$('#storeItems').append( all$items ); // Append only once!
};

// TEST
var data = [
{idstores:0, storeImageUrl:"http://placehold.it/50x50", pointsNeeded:30},
{idstores:23, storeImageUrl:"http://placehold.it/50x50", pointsNeeded:130}
];
showStores(data);

这是一个 jsBin demo因为 StackOverflow 的 sessionStorage 被它的 iframe 沙盒化了...:(

关于javascript - 如何将 javascript 中单击的 HTML 行的 id 传递给另一个 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38130050/

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