使用jQuery的垂直文本
我想通过在jQuery的字符之间添加
标签来垂直对齐文本。
看起来像这样:
V
Ë
[R
Ť
一世
C
一个
升
Ť
Ë
X
Ť
我们去打高尔夫吧!
$('#foo label').html($('#foo label').text().replace(/(.)/g,"$1
"));
完全未经测试,但正则表达式中的模式看起来像个布布。
Kurt先生的回答适用于单个id,但如果你想要一些更有用的东西可以应用于几个元素尝试这样的事情:
$.each( $(".verticalText"), function () { $(this).html($(this).text().replace(/(.)/g, "$1
")) } );
然后在你想要格式化的元素上设置class="verticalText"
。
作为奖励它保持了布布正则表达式。
未经测试,但它应该工作。
var element = $( '#foo label' ); var newData = ''; var data = element.text(); var length = data.length; var i = 0; while( i < length ) { newData += data.charAt( i ) + '
'; i++; } element.html( newData );
document.write("vertical text".split("").join("
"));
编辑:洞中的一个!
这建立在塞巴斯蒂安H的答案之上,但我测试了它,这很有效
var element = $( '#foo label' ); var newData = ''; var data = element.text(); var length = data.length; var i = 0; $( '#foo label' ).html(""); while( i < length ) { $( '#foo label' ).append(data.charAt( i ) + "
") i++; }
为什么在每个方法都可以使用jQuery的内置时使用while循环?
$.each( $('#foo').text(), function(){ $('#foo').append(this + '
'); } );
那里。 有用。 你可以测试一下。