今天在二次开发的时候,看到源代码的新闻列表是Aajax获取的,点击新闻内容触发编辑,我没有看到新闻Id却能查到信息。

观看$.ajax遍历赋值过程中,$tr("<a>新闻内容</a>").data("data" , obj)绑定了此条新闻的JSOn数据,在编辑时候只要$.data("data") 就能获取到此数组

1.$data的基本语法

data([key],[value])

在元素上存放或读取数据,返回jQuery对象。

当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如果浏览器支持HTML5,同样可以读取该DOM中使用 data-[key] = [value] 所存储的值。参见最后一个示例。

当参数为两个时,为像该jQuery对象对应的DOM中存储key-value键值对的数据。

如果jQuery集合指向多个元素,那将在所有元素上设置对应数据。 这个函数不用建立一个新的expando,就能在一个元素上存放任何格式的数据,而不仅仅是字符串。

V1.4.3 新增用法, data(obj) 可传入key-value形式的数据。

2.$.data的实例子

2.1

在一个DIV上存放数据:<div><div>

Jquery代码;

$("div").data("blah");  // undefined
$("div").data("blah", "hello"); // blah设置为hello
$("div").data("blah"); // hello
$("div").data("blah", ); // 设置为86
$("div").data("blah"); //
$("div").removeData("blah"); //移除blah
$("div").data("blah"); // undefined

2.2

在一个div上存取名/值对数据:<div><div>

Jquery代码;

$("div").data("test", { first: , last: "pizza!" });
$("div").data("test").first //16;
$("div").data("test").last //pizza!;

3.我见过的

赋值:

                        $.each(data, function (n, obj) {
console.log(obj);
if (currentStatus == "mReg") {
// fillReg(obj);
$("#task-table").append("<tr class='mReg'><th></th><th>" + obj.t.time + "</th><th colspan='3'>" + obj.t.rate + "%</th><th colspan='2'>" + obj.t.worktime + " </th></tr>");
$.each(obj.lt, function (n, data) {
// console.log(data);
var tr = $("<tr><th>" + (n + ) + "</th><th ><a href='#' onclick='editTask(this)'> " + data.content + "</a></th><th>" + data.rate + "</th><th> " + data.project + "</th><th> " + data.category + "</th><th>" + data.worktime + "</th><th>" + data.endTimeSta + "</th></tr>"); tr.find("a").data("data", data); //------------重点
$("#task-table").append(tr); })
}
else
{
fillCou(obj);
} });

编辑:

        var editTask = function(sender) {
var obj = $(sender).data("data");
//获取任务信息
currentId = obj.id;
$('#content').val(obj.content);
$('#project').val(obj.project);
$('#category').val(obj.category);
$("#worktime").val(obj.worktime);
$("#endtime").val(obj.endtime);
$("#rateO").val(obj.rate);
$("#rateO").text(obj.rate+"%");
}

随机推荐

  1. 奇葩问题:This file could not be checked in because the original version of the file on the server was moved or deleted. A new version of this file has been saved to the server, but your check-in comments were not saved

    "This file could not be checked in because the original version of the file on the server was m ...

  2. Android项目实战(十九):Android Studio 优秀插件: Parcelable Code Generator

    Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...

  3. 使用imeOptions

    Android的软键盘右下角有Action按钮,如下图的“上一步” 在EditText中有 android:imeOptions选项,它包括完成按钮“actionDone”,发送按钮“actionSe ...

  4. 【工具相关】iOS-Reveal的使用

    一,首先下载Reveal工具. Reveal的下载地址:http://revealapp.com/download. 下载界面如下图所示,选择Download Trail蓝色按钮可以进行下载: 二,新 ...

  5. ORACLE与mysql中查询第n条到第m条的数据记录的方法

    ORACLE: SELECT * FROM             (                  SELECT 表名.*, ROWNUM AS CON FROM 表名 WHERE ROWNUM ...

  6. 清理DBA_DATAPUMP_JOBS中的孤立数据泵作业

    今天在重构数据库时(将表空间中的表.索引转移到其它表空间)时,发现有两个奇怪的对象SYS_EXPORT_FULL_01.SYS_EXPORT_FULL_02搜索了一下,发现这个可能是EXPDP导出异常 ...

  7. log4j 实现只输入我们指定包的日志

    #all logger output level is 'ERROR' and output position is stdout #so only write our project's DEBUG ...

  8. html5 如何进行自定义属性的定义和查询

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>T ...

  9. React-Native测试报告

     React-native 使用js编写android和ios程序,前端时间开始支持android,本人根据官方的教程,先安装开发环境,然后运行hello world,最后看了下官方提供的实例程序UI ...

  10. my_strcat()

    char* my_strcat(char* S1,const char* S2){ //严格符合strcat()的接口形式,需要的S1空间是两个字符串空间总和-1. int i=0,j=0; whil ...