2017-04-25 24 views
0

我想设置一个按钮上的文字:如何解析jquery的htmlentities?

<input class="btn btn-primary btn-sm " id="sauver" type="submit" /> 
... 
$("#sauver").prop("value","D&eacute;valider"); 

在运行时的HTML代码&eacute;不会转换为é!那么如何解决这个问题?

回答

1

如果你真的需要它,你可以创建一个分离的节点:

jQuery(function($){ 
 
    $dummy = $("<div />").html("D&eacute;valider"); 
 
    $("#sauver").prop("value", $dummy.text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input class="btn btn-primary btn-sm " id="sauver" type="submit" />

当然,绝对不需要这样的HTML实体,除非您的源代码是用普通的7位US-ASCII编写的。无论如何,该属性本身并不期望或接受HTML。

0
<button class="btn btn-primary btn-sm" id="sauver" type="submit"></button> 
.... 
$("#sauver").html("D&eacute;valider"); //Or whatever value you want here 

应该做的伎俩

1

您必须使用<button> html元素。然后,只需访问他的html:

<button class="btn btn-primary btn-sm" id="sauver" type="submit"></button> 

$("#sauver").html('D&eacute;valider'); 
2

你可以像这样解码你的html字符串。换行html元素并获取解码后的字符串。

function decodeEntities(encodedString) { 
 
    var textArea = document.createElement('textarea'); 
 
    textArea.innerHTML = encodedString; 
 
    return textArea.value; 
 
} 
 

 
var Result = decodeEntities('D&eacute;valider'); 
 
$("#sauver").prop("value",Result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="btn btn-primary btn-sm " id="sauver" type="submit" />

2

可以转换成html将其插入一个元素为html然后检索的文本到文本。

var txt = $('<span>').html("D&eacute;valider").text() 
 

 
$("#sauver").prop("value",txt);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="btn btn-primary btn-sm " id="sauver" type="submit" />

1

,你可以把它放在一个“虚拟”的元素,并抓住它从那里编码:

var myVal = "&eacute;"; 
var convertedVal = $('<san/>').html(myVal).text(); 
$("#sauver").prop("value",convertedVal); 
1

一个简单的短特技将是使用在其上分配的消息使用.html()包含HTML实体,然后提取使用.text()文本的临时元件。

var htmlEntity = $("<div>").html("D&eacute;valider").text(); 
 

 
$("#sauver").prop("value",htmlEntity);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="btn btn-primary btn-sm " id="sauver" type="submit" />

2

可以解码你的HTML实体喜欢这个。

var text = $("<span />").html("D&eacute;valider"); 
$("#sauver").attr("value",text.text()); 

你也可以写一个通用的方法:对于suggession ... @ TobySpeight..I

function decode_entities(text) { 
    var t = $("<span />").html(text); 
    return t.text(); 
} 

$("#sauver").attr("value",decode_entities("D&eacute;valider")); 
+0

三江源我纠正我的回答方法 – Nidhi