Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript将字符串中的一个字母作为目标_Javascript_Jquery_Html - Fatal编程技术网

使用javascript将字符串中的一个字母作为目标

使用javascript将字符串中的一个字母作为目标,javascript,jquery,html,Javascript,Jquery,Html,假设我有这个字符串: “hello”在标记中,我希望为每个字母执行一个代码(例如:隐藏、更改不透明度等)。如何使用JS/Jquery实现这一点而不必执行以下操作: <span>h</span><span>e</span><span>l</span><span>l</span><span>o</span> 你好 您可以在普通javaScript中轻松实现这一点,而不需要像jqu

假设我有这个字符串: “hello”在
标记中,我希望为每个字母执行一个代码(例如:隐藏、更改不透明度等)。如何使用JS/Jquery实现这一点而不必执行以下操作:

<span>h</span><span>e</span><span>l</span><span>l</span><span>o</span>
你好
您可以在普通javaScript中轻松实现这一点,而不需要像jquery这样的库。您可以使用
split
将字符串转换为数组。这会将每个字母放入数组的索引中。从这里,您可以使用循环向每个索引(或字母)添加标记

例如:

   var str = "hello";
   var res = str.split(''); 

   for( var i = 0; i < res.length; i++ ){
     res[ i ] = '<span>' + res[ i ] + '</span>'
   }
var str=“你好”;
var res=str.split(“”);
对于(变量i=0;i
您可以这样做

在html中

<span id="my-text">hello</span>
<div id="split-span" ></div>
你好
在Javascript中

var text = $('#my-text').html().split('');

for(var i=0; i<text.length; i++){
    $('#split-span').append('<span>'+text[i]+'</span>');
}
var text=$('#我的文本').html().split('');

对于(var i=0;iNo和yes。据我所知,不,每个字母周围都有一个span标记是必要的,但是,是的,您可以在JavaScript中摆动它。这里有几个示例,使用这个概念可以对每个字符随机应用颜色和大小

forEach
循环方法:


您可以尝试使用伪css伪类
:nth-letter()
来确定目标,但我不能确定jQuery是否允许这样做
<span>hello</span>

<script>

var span = document.querySelector('span')
var str = span.innerHTML
span.innerHTML = ''
str.split('').forEach(function (elem) {
    var newSpan = document.createElement('span')
    newSpan.style.color = "#"+((1<<24)*Math.random()|0).toString(16)
    newSpan.style.fontSize = (Math.random() * (36 - 10) + 10) + 'px'
    newSpan.innerHTML = elem
    span.appendChild(newSpan)
})

</script>
<span>hello</span>

<script>

var span = document.querySelector('span')
var str_arr = span.innerHTML.split('')
span.innerHTML = ''
var ii = 0
~function crazy(ii, str_arr, target) {
    if ( ii < str_arr.length ) {
        var newSpan = document.createElement('span')
        newSpan.style.color = "#"+((1<<24)*Math.random()|0).toString(16)
        newSpan.style.fontSize = (Math.random() * (72 - 36) + 36) + 'px'
        newSpan.innerHTML = str_arr[ii]
        target.appendChild(newSpan)
        setTimeout(function () {
            crazy(ii += 1, str_arr, target)
        }, 1000)
    }
}(ii, str_arr, span)

</script>