要点:

1、js将字符串转化为object方法,通过新建函数。

2、通过ajax返回的数据是object类型。

3、jquery.attr()里的attr是object类型

例子:主要实现后台返回的attr里的两个参数,将两个参数直接应用赋值

ajax前端请求:

<html>
<head>
<title>jquery 同时修改两个属性</title>
</head> </html> <script src="extlib/jquery-1.11.1.min.js" type="text/javascript" charset="utf-8"></script>
<script src="extlib/JSON-js-master/json_parse.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
/*** json 格式字符串转化为 javascript object ***/ function parseObj( strData ){ return (new Function( "return " + strData ))(); } $.ajax({
url: 'retJson.php',
type: 'POST',
dataType: 'json',
data: {param1: 'value1'},
success:function(data)
{ /**
* [imgAttr ajax接收到的data是object对象]
* @type {[object]}
*/
imgAttrStr = data['img']; /**
* 将object 转化为json字符串
* [str 将object解析json字符串]
* @type {[string]}
*/
var str = JSON.stringify(data);
alert(str); /**
* 将json字符串转化object
* [object parseJSON与eval("("+str+")")]等价
* @type {[object]}
* object
*/
var jsonObject = $.parseJSON(str);
var jsonObject = eval("("+str+")"); /**
* [imgAttr 将“字符串”转化对象,修改attr属性]
* $("#").attr(object)
* @type {[object]}
*/
imgAttrObject = parseObj(imgAttrStr);
// alert(typeof(imgAttr)); $("#img_switch").attr(imgAttrObject); }
}); </script> <body> <div>
<img id="img_switch" src="data:images/ups_ac_fail.gif" height="216" width="450" alt="UPS断线">
</div> </body>

php后台数据返回

<?php 

echo "{\"img\":\"{'src':'images/ups_online.gif','alt':'UPS在线'}\" }";
// echo '{"img":"images/ups_online.gif"}'; ?>

动态修改attr里的多个属性的更多相关文章

  1. JavaScript动态修改html组件form的action属性

    用javaScript动态修改html组件form的action属性,可以在提交时再决定处理表单的页面. <%--JavaScript部分--%><script language=& ...

  2. 周记5——随机撒花特效、动态修改伪元素样式、contenteditable属性、手机端调试利器VConsole、浏览器端debug调试

    记录一些小零碎知识点,以便日后查看~ 1.随机撒花特效 教师节快到了,公司的产品提出一个需求:在IM(即时聊天)聊天界面弹出教师节的祝福“广告”,用户点击“发送祝福”按钮,聊天界面会随机撒花.这里的重 ...

  3. 自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图

    引言 学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了.现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改mar ...

  4. JDK动态代理+反射实现动态修改注解属性值

    这是最近朋友的一个需求,正好闲来无聊有些时间,跟着研究一下,如有不正确的地方,欢迎大家指正~ 一.准备自定义注解 注:如何实现自定义注解,请移步百度. 二.实现 1.实现方式1:通过反射+动态代理动态 ...

  5. Day14_85_通过反射机制修改Class的属性值(IO+Properties)动态修改

    通过反射机制修改Class的属性值(IO+Properties)动态修改 import java.io.FileInputStream; import java.io.FileNotFoundExce ...

  6. [SAP ABAP开发技术总结]动态修改选择屏幕

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. 动态修改 NodeJS 程序中的变量值

    如果一个 NodeJS 进程正在运行,有办法修改程序中的变量值么?答案是:通过 V8 的 Debugger 接口可以!本文将详细介绍实现步骤. 启动一个 HTTP Server 用简单的 Hello ...

  8. 动态修改 C 语言函数的实现

    Objective-C 作为基于 Runtime 的语言,它有非常强大的动态特性,可以在运行期间自省.进行方法调剂.为类增加属性.修改消息转发链路,在代码运行期间通过 Runtime 几乎可以修改 O ...

  9. 关于360插件化Replugin Activity动态修改父类的字节码操作

    近期在接入360插件化方案Replugin时,发现出现崩溃情况. 大概崩溃内容如下: aused by: java.lang.ClassNotFoundException: Didn't find c ...

随机推荐

  1. angular ui-router 缓存问题

    在个别情况下 $state.go()路径和参数完全相同的时候页面因为缓存问题可以直接跳转,但是不能重新获取数据 通过路由参数可以解决 路由 .state('app.***.***', { url: ' ...

  2. BigDecimal数据加法返回值接收

    1.相加 两个BigDecimal变量a,b. 如果想进行相加,即a加b的话,返回值需要使用a进行接收,如下: a = a.add(b); BigDecimal为不可变类, 所以执行运算的结果需要再返 ...

  3. uC/OS-II标志(flag)块

    /*************************************************************************************************** ...

  4. squid代理服务器配置详解

    root@proxy squid]# cat squid.conf## Recommended minimum configuration:#visible_hostname www.jd.com # ...

  5. 如何在Flash Builder里新建ActionScript工程

    新建ActionScript工程 1. File > New > ActionScript Project 2. 按照提示完成工程的创建 使程序直接在Flash Player中运行 1. ...

  6. js与php转换时间戳

    php时间:1368524732 js代码: function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleStri ...

  7. GPRS/3G

    像GPRS/3G模块之类的应用,需要连接,登陆,初始化等步骤完成后才能传输数据,而这些步骤又比较耗时. 所以用 状态机 + 超时 的机制来实现比较合理. 如下代码片段来描述数据透传 : 状态机 + 超 ...

  8. Drupal 7.31SQL注入getshell漏洞利用详解及EXP

    0x00 这个漏洞威力确实很大,而且Drupal用的也比较多,使用Fuzzing跑字典应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以我也就只是写个Exp不再深入下去. 0x0 ...

  9. android-android获取navigationview 上的控件id

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); View headerView = navi ...

  10. localdomain的linux域

    both和and的区别? both强调(两者)都,用于肯定语气, and字面意思是"和,而且",是用于表示并列关系的句子,通常位于最后两个人或物之间,将将人物串联起来 如: thi ...