jQuery Replacing, Using arrays

jQuery Replacing, Using arrays

本文关键字:arrays Using Replacing jQuery      更新时间:2023-09-26
var searchp   = $('body'),
    searchval = searchp.html(),
    name      = ['Abraham Lincoln', 'George Washington'];
    cname     = name.toLowerCase().replace(/ /g, ''),
    restr     = searchval.split(name).join('<a href="#" data-name="'+cname+'">'+name+'</a>');
searchp.html( replacestr );

我需要一些关于 litte 替换功能的帮助。如果我使用 name='字符串名称',它可以正常工作,但我无法让它与数组一起使用。希望你能帮助我。

您尝试在不提供toLowerCase()方法的数组上调用toLowerCase()。相反,您应该在该数组中指定一个项目,例如:

cname     = name[0].toLowerCase().replace(/ /g, ''),

这很容易发现您打开浏览器的控制台,因为在Chrome中运行它给了我以下消息:

未捕获的类型错误:对象亚伯拉罕·林肯,乔治·华盛顿没有 方法"到小写">

正如对您的问题的评论所表明的那样,您可能不想对元素的索引进行硬编码,而是使用循环。我试图摆弄你的代码,但似乎缺少一些来自#body的输入来在你的行中获得一些语义,所以我所能提供的只是一个建议如何遍历一个环数组:

var name = ['Abraham Lincoln', 'George Washington'];
$(name).each(function(key, value){
    console.log(value.toLowerCase());
});
​