我在下面的代码中收到$("<div/>").text(value).html is not a function
错误:
function htmlEncode(value) {
return $('<div/>').text(value).html();
}
function startImageUpload(imageuploadform, imagefilename){
$('.imagef1_cancel').eq(window.lastUploadImageIndex).html(
'<div>' +
htmlEncode(imagefilename) +
'<button type="button" class="imageCancel" cancel_image_file_name="' +
imagefilename +
'">CANCEL</button></div>'
);
return true;
}
如何修复此错误?
奇怪的是我下面有类似的代码,但功能不同(stopImageUpload),代码工作正常如下:
function htmlEncode(value) {
return $('<div/>').text(value).html();
}
function stopImageUpload(success, imagefilename) {
imagecounter++;
$('.listImage').eq(window.lastUploadImageIndex).append(
'<div>' +
htmlEncode(imagefilename) +
'<button type="button" class="deletefileimage" image_file_name="' +
imagefilename +
'">Remove</button><br/><hr/></div>'
);
return true;
}
链接到应用程序以查看正在发生的事情:application
答案 0 :(得分:3)
$('<div/>').html(value); //without text function
答案 1 :(得分:1)
function htmlEncode(value) {
return $('<div/>').text(value).html();
}
如果上述代码段中的value
为undefined
,则text()
会返回DOM元素的文本内容,而不是元素本身,从而导致链式调用失败。