1

$("<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;   
    }

何が起こっているかを確認するためのアプリケーションへのリンクはここにあります:アプリケーション

4

2 に答える 2

3
$('<div/>').html(value); //without text function
于 2012-05-15T12:40:22.710 に答える
1
function htmlEncode(value) { 
    return $('<div/>').text(value).html(); 
}

value上記のスニペットでがである場合、要素自体ではなくDOM要素のテキストコンテンツundefinedを返すため、連鎖呼び出しは失敗します。text()

于 2012-05-15T12:36:58.837 に答える