js 循环拼接字符串里调用function里传对象参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 循环拼接字符串里调用function里传对象参数相关的知识,希望对你有一定的参考价值。
for(var i=0;i<result.data.length;i++)
str1+="<div class='col-xs-4 col-md-3' style='margin-buttom:0px;border:1px;padding: 4px'>"
+"<div class=\"thumbnail\" style='margin-bottom: 2px;'>"
+"<a onclick='aa("+result.data[i]l+")'>"
+"<img src='"+result.data[i].vpic+"' alt=\"暂无图片\"></a></div>"
(result.data[i]这个json对象是当字符串处理的)如何对象传参?用append()参数是循环的最后一个对象
如果只需要result.data里的数据,可以把他再次序列化成json传过去
我当你result.data这个对象老是被改动数据,如果result.data[?]是不会被改变的对象的话,还可以把这些数据独立保存起来,比如最直接的放到window对象里:
for(var i=0;i<result.data.length;i++)window["data_"+i]=result.data[i];
...
+'<a onclick="aa(data_'+i+')">'//这时data_*已经是一个赋了值变量名了
+...
参考技术A 如果只需要result.data里的数据,可以把他再次序列化成json传过去
1
+'<a onclick="aa('+JSON.stringify(result.data[i]).replace(/"/g,"&"+"#34")+')">'
我当你result.data这个对象老是被改动数据,如果result.data[?]是不会被改变的对象的话,还可以把这些数据独立保存起来,比如最直接的放到window对象里:
1
2
3
4
5
6
for(var i=0;i<result.data.length;i++)
window["data_"+i]=result.data[i];
...
+'<a onclick="aa(data_'+i+')">'//这时data_*已经是一个赋了值变量名了
+...
参考技术B 你onclick的时候 这样
<a onclick=\"aa('"+result.data[i]+ "')\">追问
不是这个问题,这里是把result.data[i]这个json对象当【obj,obj】这个字符串处理了
追答哦 那你可以试试 result.data[i].toString() 传参过去
不过你的字符串组装的时候 是有点问题的 就是你onclick的时候 如果传字符串 是没有用单引号包裹的
没有解决问题,不过给你吧
本回答被提问者和网友采纳 参考技术C 我建议你使用事件委托和自定义属性!这样你代码就好维护了 参考技术D aa("+result.data[i]l+")可以传个i给aa方法,再在aa方法里根据i得到result.data[i]追问
result.data也是json变量,不停在变的,如何得到?
javascript对象属性拼接
对象方法里要通过一个变量来调用显示对象属于名称,可以这样做
var person = { borther1: { name: "tom" }, borther2: { name: "jack" }, borther3: { name: "david" }, sayBorther: function (num) { return this["borther"+num] } }
我们知道person.borther1等同于person["borther"],
person["borther"]用字符串拼接的写法就是person["borther"+1]
应用到上述方法
以上是关于js 循环拼接字符串里调用function里传对象参数的主要内容,如果未能解决你的问题,请参考以下文章