javascript - js函数参数为对象
迷茫
迷茫 2017-04-10 15:50:42
0
3
837

使用js拼接一个连接a元素

a的href是一个js函数,它的第二个参数s是一个对象:

s = {'l_name':'name','l_author':'author'};

本意是点击拼接好的a标签,再执行这个getDate函数,在getDate里获取到s的属性l_name和l_author的值,但是传入的s参数变成了下面这样,导致getDate的参数有问题执行不了:

对js的语法不是很熟悉啊,请问怎样解决?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
巴扎黑

1)把对象s转成字符串
var s = {'l_name':'name','l_author':'author'};
function getData(pageIndex,sString){

var sObject=JSON.parse(sString);
//....
console.log(sObject.l_name);
//....

}

JSON.stringify(s);
2)通过事件监听的方式
3)
var s = {'l_name':'name','l_author':'author'};
function getData(pageIndex){

//....
console.log(s.l_name);
//....

}

小葫芦

把 s 边上的 + 号 引号 去掉

另外 你把JavaScript前的引号 转义 是个啥回事儿
还有 s 也是在页面上出现的js中的变量吧?

<script>
var s={a:1}
function geta(a,b){
    console.log(a.a)
}
</script>
<a href="javascript:geta(s)">a</a>

//输出1

另外 建议使用 监听a的点击事件

刘奇

HTML环境下不能够直接执行js代码,所以必须是把代码转化为字符串写到html里面才能执行。你这样链接以后,js会将这个对象转换为字符串,所以你在参数哪里看到的就是一个[object Object]。我建议你把object里面的基本属性都拿出来单独传,或者用click事件绑定,在html代码里面写js并不是一个非常好的解决方案。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板