1
$.each(tools, function (i, tool) {
    $("<img>", tool).appendTo($toolbar);
});

//define toolset (JSON, e.g. from database)...
var tools = [{
    "data-id": 1,
    alt: "sun",
    title: "sun",
    src: "http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Sunny.png",
    "data-description": "sun in photo"
}, {
    "data-id": 2,
    alt: "snow",
    title: "snow",
    src: "http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Thermometer_Snowflake.png",
    "data-description": "snow in photo"
}, {
    "data-id": 3,
    alt: "cloud",
    title: "cloud",
    src: "http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Overcast.png",
    "data-description": "cloud in photo"
}, {
    "data-id": 4,
    alt: "rain",
    title: "rain",
    src: "http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Night_Rain.png",
    "data-description": "rain in photo"
}];

我正在看一些我第一次看到的 jQuery。我看到我相信每个工具都会发生什么,并且 img 标签是使用 JSON 中描述的适当属性创建的。如果是这样,我认为这非常简洁,我想知道在手册或 API 文档中可能在哪里更详细地描述这种技术?

提前致谢...

4

1 回答 1

1

编码:

$.each(tools, function (i, tool) {
    $("<img>", tool).appendTo($toolbar);
})

让我们把它分成几块:


$.each(tools, function (i, tool) { });- jQueryeach

这与以下内容相同:

for(i = 0; i < tools.length; i++) {
    var tool = tools[i];
}

$("<img>", tool)- jQuery 元素创建者

这与拥有相同:

$("<img data-id='' src='' alt='' title='' data-description=''>");

并填写每组参数,例如,第一个tool(太阳)将是:

$("<img data-id='1' src='http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Sunny.png' alt='sun' title='sun' data-description='sun in photo'>");

这与以下内容相同:

$("<img>").attr({
    "data-id": 1,
    "alt": "sun",
    "title": "sun",
    "src": "http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Sunny.png",
    "data-description": "sun in photo"
});

和一样

$("<img>", {
    "data-id": 1,
    "alt": "sun",
    "title": "sun",
    "src": "http://cdn4.iconfinder.com/data/icons/iconsland-weather/PNG/48x48/Sunny.png",
    "data-description": "sun in photo"
});

这正是它的$("<img>", tool)全部意义所在


appendTo($toolbar);- jQueryappendTo

tools只需将数组中每个对象的结果附加到$toolbar可能很简单的<div>

于 2013-10-02T21:34:08.457 回答