我现在有一个 json 对象,如何使用元素制作 div
我正在使用 getJson 将一些信息拉入页面。json
$('#request_song').autocomplete({
serviceUrl: '<%= ajax_path("trackName") %>',
minChars:1,
width: 300,
delimiter: /(,|;)\s*/,
deferRequestBy: 0, //miliseconds
params: { artists: 'Yes' },
onSelect: function(value, data){
// alert('You selected: ' + value + ', ' + $('#request_artist').val());
$.getJSON('/get_events', function(data) {
$(data).each(function(key, value) {
console.log(value);
});
});
},
});
将包含事件的名称以及城市和日期,
我需要在页面上创建一个 div,其中包含来自 json 的值,例如
<div id="event_data">
//table info from json
I am using getJson to pull in some info onto the page
$('#request_song').autocomplete({
serviceUrl: '<%= ajax_path("trackName") %>',
minChars:1,
width: 300,
delimiter: /(,|;)\s*/,
deferRequestBy: 0, //miliseconds
params: { artists: 'Yes' },
onSelect: function(value, data){
// alert('You selected: ' + value + ', ' + $('#request_artist').val());
$.getJSON('/get_events', function(data) {
$(data).each(function(key, value) {
console.log(value);
});
});
},
});
The json will have the name of the event and the city and date
I need to make a have a div that is on the page have the values from the json like
<div id="event_data">
//table info from json
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜您的回复看起来像这样...
如果您使用
$('
')
或$('
; ')
要创建新元素,jQuery 将在创建元素之前使用正则表达式,如果您正在处理大型数据集,这显然会减慢您的速度。对于性能使用:
对于性能使用标准 for 循环,而不是 $.each,并缓存长度:
如果使用 text(),则该值将被视为仅文本,并且不会被执行。如果您使用 html() 您将遇到 XSS 问题。
希望这对您有所帮助并且正是您所寻找的。
I'm guessing your response looks something like this...
If you use
$('<div />')
or$('<div></div>')
to create new elements, jQuery will use regex before creating the element which for obvious reasons will slow you down if you're dealing with large data sets.For performance use:
For performance use standard for loop, not $.each, and cache the length:
If you use text() the value will be treated as just that, text only, and will not be executed. If you use html() you'll have XSS issues.
Hopefully this helps and is what you're looking for.
将标记放入
$()
的参数中以从中创建元素。使用{}
查找中的值来设置属性和文本内容(在 jQuery 1.4 中)。例如。例如:不要尝试自己将其粘在一起 (
$(''+value.name+'')
),否则您将遇到 HTML 编码问题可能还有跨站点脚本安全漏洞。Put markup in the argument to
$()
to create an element from it. Use values in a{}
lookup to set attributes and text content (in jQuery 1.4). eg. something like:Don't try to stick it together yourself (
$('<span>'+value.name+'</span>')
) or you'll have HTML-encoding issues and probably cross-site-scripting security holes.