使用 jQuery prop() 按名称添加 html 实体
Add html entity by name with jQuery prop()
我想使用 jQuery prop()
向输入元素的占位符属性添加省略号,但我得到的不是预期的 …
,而是文字字符串 …
。
如何使用 jQuery prop()
按名称添加 html 个实体?
$(document).ready(function(){
$('div#b input').prop('placeholder','Search…');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="a"><input type="text" placeholder="Search…" /></div><br />
<div id="b"><input type="text" /></div>
只需键入水平省略号:
$(document).ready(function(){
$('div#b input').prop('placeholder',$(document.createElement('div')).html('Search…').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="a"><input type="text" placeholder="Search…" /></div><br />
<div id="b"><input type="text" /></div>
最简单的解决方案是使用原始十六进制代码而不是命名实体,因为 JS 和 DOM API.
可以很好地处理这些代码
$(document).ready(function(){
$('div#b input').prop('placeholder','Search\u2026'); // <- \u2026 is …
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="a"><input type="text" placeholder="Search…" /></div><br />
<div id="b"><input type="text" /></div>
您必须以一种或另一种方式调用 HTML 解析器。您可以创建一个新元素,设置其 HTML 内容并将其内容作为文本获取:
$('div#b input').prop(
'placeholder',
$('<div />').html('Search…').text()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="b">
<input />
</div>
见HTML Entity Decode
我想使用 jQuery prop()
向输入元素的占位符属性添加省略号,但我得到的不是预期的 …
,而是文字字符串 …
。
如何使用 jQuery prop()
按名称添加 html 个实体?
$(document).ready(function(){
$('div#b input').prop('placeholder','Search…');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="a"><input type="text" placeholder="Search…" /></div><br />
<div id="b"><input type="text" /></div>
只需键入水平省略号:
$(document).ready(function(){
$('div#b input').prop('placeholder',$(document.createElement('div')).html('Search…').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="a"><input type="text" placeholder="Search…" /></div><br />
<div id="b"><input type="text" /></div>
最简单的解决方案是使用原始十六进制代码而不是命名实体,因为 JS 和 DOM API.
可以很好地处理这些代码$(document).ready(function(){
$('div#b input').prop('placeholder','Search\u2026'); // <- \u2026 is …
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="a"><input type="text" placeholder="Search…" /></div><br />
<div id="b"><input type="text" /></div>
您必须以一种或另一种方式调用 HTML 解析器。您可以创建一个新元素,设置其 HTML 内容并将其内容作为文本获取:
$('div#b input').prop(
'placeholder',
$('<div />').html('Search…').text()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="b">
<input />
</div>
见HTML Entity Decode