我试图在ajax函数的结果中找到一个标记,并使用data()来设置值'file', file_number
,如下所示,但我在console.log中看不到它,undefined就是我得到的。
我的代码有问题吗?
....success: function(html){
var result = $(html).filter('.result').html();
// console.log(result);
var file_number = $(html).find('.file_number').html();
// console.log(file_number); // will get number
//
$(html).find('img').data('file', file_number);
console.log($(html).find('img').data('file'));
答案 0 :(得分:1)
我的代码有问题吗?
是。您多次调用$(html)
,即jQuery将多次解析HTML字符串并从中创建不同的 DOM元素(每次)。您对其中一个已解析集所做的更改不是持久性的,并且对其他任何集都没有任何影响。
存储$(html)
的结果,仅适用于此一组的DOM元素:
var $html = $(html);
var result = $html.filter('.result').html();
// console.log(result);
var file_number = $html.find('.file_number').html();
$html.find('img').data('file', file_number);
console.log($html.find('img').data('file'));