将整个字符串存储为数据属性时出现问题
Trouble storing entire string as data attribute
我目前正在尝试从HTML数据属性传递数据,如下所示:
// From
$(".search-results").append('<div data-id=' + movie.id + ' data-title=' + movie.title + ...'
//To
$('#movie-info').append('<h5>' + ($(this).data("title")) + '</h5>');
麻烦的是只传递了电影字符串中的第一个单词。不太清楚为什么。
当属性可以包含空格时,您需要属性的分隔符:
$(".search-results").append(
'<div data-id="' + movie.id + '" data-title="' + movie.title + '"...'
您还应该考虑它是否需要HTML编码,即它是否可以包含"
,<
,>
或&
等字符。
避免创建 HTML 代码问题的一种简单方法是创建元素:
var div = $('<div>').data({ id: movie.id, title: movie.title });
$(".search-results").append(div);
当您使用该值时,同样有效,以避免标题被解释为 HTML:
var header = $('<h5>').text($(this).data("title"));
$('#movie-info').append(header);
属性的值应括在引号中。它应该看起来像这样:
// From
$(".search-results").append('<div data-id="' + movie.id + '" data-title="' + movie.title + '"...');
//To
$('#movie-info').append('<h5>' + ($(this).data("title")) + '</h5>');
相关文章:
- 序列化数据属性中对象的最可靠方法
- jQuery最近父级的数据属性选择器
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 数据属性仅在切换设备模式下工作
- 函数jquery.html()不提供数据属性集值
- 在数据属性上进行下拉自动选择
- JavaScript-获取数据属性的值返回未定义的值
- 如何替换数据属性中的特定字符串单词
- 使用数据属性将HTML数据复制到另一个元素
- 带有CSS的数据属性就没那么有用了
- 查找所有TD标签并读取其数据属性
- 使用jQuery获取第N个元素的数据属性值
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 数据属性有没有更干净的方法
- 是否可以使用CSS分配数据属性
- 奇怪的数据属性布尔问题
- 将整个字符串存储为数据属性时出现问题
- Javascript/jQuery插件问题(未更新数据属性)
- Jquery复选框数据属性条件的问题
- 从选择选项更改中获取数据属性的问题