【发布时间】:2013-03-04 03:33:10
【问题描述】:
我想在单击按钮时将段落中一些随机字符的颜色更改为红色。请找到我的代码。我在这方面有一些错误。
$('input').click(function(){
var para = $('#para');
var position = Math.floor(Math.random()*100);
var character = [];
var i=0
while ( i <= 30 )
{
character[i] = para.html().substr(position*(i+1), 1);
i++;
}
$.each(character, function() {
character.css('color','red');
});
});
首先,我创建了一个数组,其中包含一个段落中的 30 个随机字母
接下来我使用each() 遍历数组中的每个元素以应用css 属性。
但是在控制台窗口中弹出一个错误说对象没有方法'css'
我做错了什么?
【问题讨论】:
-
您只能为 jquery 对象调用 css 方法。对于您的情况,您的数组元素只是字符串。
-
我做了......但这也无济于事
-
好吧,你的
$.each逻辑没有意义。character是一个数组,你不能在它上面使用 jQuery 方法。您需要为所有角色创建元素,更改它们的颜色并将它们附加到页面。 -
$.each 只能应用于 jQuery 对象,所以 jQuery 对象是什么,它们是您在成功执行 jQuery 查询字符串后获得的对象,例如 $("#para")。如果您想对 para 中的每个字母应用不同的颜色,您可能必须将每个字符放在不同的标签中,例如 div 或 span 像 A B