是否有可能得到李的所有首字母并显示出来,或者替换li的值?我在网络中找到了一个示例js,它获取每个单词的所有首字母,但我希望它替换它,得到我的li的值。
HTML:
<ul>
<li>Alpha</li>
<li>Beta</li>
<li>Charlie</li>
<li>Charlie Delta Omega Lima Egg</li>
</ul>联署材料:
var text = '';
var arr = "Java Script Object Notation".split(' ');
for(i=0;i<arr.length;i++) {
text += arr[i].substr(0,1)
}
alert(text);产出:
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
<li>CHOLE</li>
</ul>发布于 2015-09-23 09:22:52
用这个:
$(function () {
$("li").html(function (i, v) {
return v.trim().split(" ").map(function (obj) {
return obj.substr(0, 1);
}).join("");
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul>
<li>Alpha Beta</li>
<li>Beta</li>
<li>Charlie</li>
</ul>
发布于 2015-09-23 09:23:49
您可以使用text方法来获取每个li元素的innerText,然后可以用第一个字母替换它。
如果文本包含前导空格,请使用trim,空格将显示出来。
要获得每个单词的第一个字母,您可以将其拆分为空格,然后映射它,然后使用子字符串方法获得第一个字母。最后,返回的数组可以用空空间连接起来,以连接数组元素。
$('ul li').text(function(i, old) {
return old.trim().split(/\s+/).map(function(e, i) {
return e.substr(0, 1);
}).join('');
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<ul>
<li>Alpha Beta</li>
<li>Beta</li>
<li>Charlie</li>
<li>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, pariatur, aperiam! Nesciunt laudantium amet nulla veritatis doloremque voluptate enim fugiat, ad voluptas, dolor non eum quam est eveniet libero consequuntur.</li>
</ul>
发布于 2015-09-23 09:27:29
这也是由regex完成的。
$('ul li').text(function(i, old) {
return old.trim().split(/\s+/).map(function(e, i) {
return e.match(/\S/i);
}).join("");
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<ul>
<li>Alpha</li>
<li>Beta</li>
<li>Charlie</li>
<li>Alpha Beta</li>
</ul>
https://stackoverflow.com/questions/32735650
复制相似问题