我有一个html元素,我用text-transform
toggle
它的类并显示大写/小写字母。
是否可以获取文本的text-transform
$('#toggle').click(function(){
$('#char').toggleClass('upper');
});
$('#getdata').click(function(){
var text = $('#char').text();
alert(text); /// here i need to get the actual word with capital/lower i selected
});
.upper{
text-transform:uppercase;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span contenteditable="true" id="char">a</span>
<br/>
<button id="toggle">Toggle case</button>
<button id="getdata">gat data</button>
发布于 2016-04-29 09:36:18
您可以检查类并使用toUpperCase
:-
$('#toggle').click(function(){
$('#char').toggleClass('upper');
});
$('#getdata').click(function(){
var $char = $('#char');
var text = $char.hasClass('upper') ? $char.text().toUpperCase() : $char.text();
alert(text); /// here i need to get the actual word with capital/lower i selected
});
.upper{
text-transform:uppercase;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span contenteditable="true" id="char">a</span>
<br/>
<button id="toggle">Toggle case</button>
<button id="getdata">gat data</button>
发布于 2016-04-29 10:40:23
目前还没有使用JavaScript获取渲染文本的方法。
当您使用英语时,toUpperCase
和toLowerCase
适用于CSS值uppercase
和lowercase
。
但是当你需要非英语语言的时候,或者当你使用capitalize
,full-width
等的时候,你必须用JS重现CSS逻辑(主要是unicode logic)。
下面是火狐is doing的一些规则。Chrome也知道其中的一些。
大写在德语(de)中,uppercase.
当您需要应用其他CSS值时,这也很有趣:
capitalize
--什么构成了“单词”?浏览器如何拆分iPhone-6s+
?看,Unicode联盟的to the rescue!full-width
- MDN示例看起来很简单,但它没有显示所有的内容,例如从...
full-size-kana
到[]
,也许有一天他们会将[]
转换为...
到…
-你的日语怎么样?不用担心,这个CSS4提案被丢弃了--而不是(未来)完全可定制的字符映射规则!希望你的CSS解析器技能达到标准。所以,如果你只使用英语,那就算你走运了。如果你像我一样使用多语言系统,我会给你安慰。时区根本不算什么。
发布于 2016-04-29 09:44:57
也许像这样?
// Store css to javascript values in this object
var textTypes = {
"uppercase": "toUpperCase",
"lowercase": "toLowerCase"
}
// get the element
var div = document.getElementsByTagName('div')[0];
// get the computed style type
var type = window.getComputedStyle(div)['text-transform'];
// print the transformed text
console.log(div.innerHTML[textTypes[type]]());
https://stackoverflow.com/questions/36934718
复制