jQuery获取文本包括使用text()的单引号没有正确显示

时间:2016-02-21 06:56:24

标签: javascript jquery

因此,如果点击按钮,我想显示div的文本输入值。但是,如果文本包含单引号,则它没有正确显示。

int i=0;
while (rs.next()) 
{
     int type=rs.getMetaData().getColumnTypeName(i);
     if(type ==Types.INTEGER)
       value = (T) rs.getInt();
     else if(type ==Types.DOUBLE)
       value = (T) rs.getDouble();
     else if(type ==Types.FLOAT)
       value = (T) rs.getFloat();
     else if(type ==Types.VARCHAR)
       value = (T) rs.getString();
     else if(type ==Types.LONG)
       value = (T) rs.getLong();
}

输入值应为<div id="content_comment">It's Yours!</div> <button id="btn_comment_edit">Edit</button> // jQuery $('.btn_comment_edit').click(function(){ $('#content_comment').replaceWith("<form method='post'><input type=text value='"+$('#content_comment').text()+"'></form>") }); // result // It' (doesn't show after single quotes) 。如何用单引号显示整个语句?

3 个答案:

答案 0 :(得分:1)

你可以做这样的事情

 $('#content_comment').replaceWith("<form method='post'><input type=text value='\'' +$('#content_comment').text()+'\'></form>")

答案 1 :(得分:0)

问题在于单引号和双引号的用法。您还使用.btn_comment_edit代替#btn_comment_edit。尝试以下。

$('#btn_comment_edit').click(function () {
    $('#content_comment').replaceWith('<form method=post><input type=text value="' + $('#content_comment').text() + '"></form>');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content_comment">It's Yours!</div>
<button id="btn_comment_edit">Edit</button>

答案 2 :(得分:0)

这就是你可以进行编码的方法。

$('.btn_comment_edit').click(function(){        
    var a = $('#content_comment').text();
    a = addslash(a);           
    $('#content_comment').replaceWith("<form method='post'><input type=text value='"+a+"'></form>")
});

function addslash(iid){
    str=iid.replace(/"/g,'\"');
    str=iid.replace(/'/g,'\'');
    return str;
}