Javascript 彩虹效果无法正确使用hrefs

Javascript 彩虹效果无法正确使用hrefs,javascript,jquery,object,for-loop,href,Javascript,Jquery,Object,For Loop,Href,我有一个代码,我正试图写一个网站的主机,一个成员要求一些支持。我写了这个,它只对文本有效,但使用hrefs它会破坏标记 代码: $.getScript(“http://xoxco.com/projects/code/rainbow/rainbow.js“,函数(){ var selectMe=[“u1”,“u2”]; 对于(var i=0;i@EasyBB),我试图看到它,但没有发现彩虹效应问题,我可以在任何地方看到它 如果你的意思是说,不应该在Rainbow中看到strong,而应该只看到s

我有一个代码,我正试图写一个网站的主机,一个成员要求一些支持。我写了这个,它只对文本有效,但使用hrefs它会破坏标记

代码:

$.getScript(“http://xoxco.com/projects/code/rainbow/rainbow.js“,函数(){
var selectMe=[“u1”,“u2”];

对于(var i=0;i@EasyBB),我试图看到它,但没有发现彩虹效应问题,我可以在任何地方看到它

如果你的意思是说,不应该在Rainbow中看到strong,而应该只看到span中的文本,那么这就是插件的工作方式

如果您看到插件代码

if (chars[x]!=' ') {
     newstr = newstr + '<span style="color: ' + options.colors[counter] + ';">' + chars[x] + '</span>';
     counter++;
} else {
    newstr = newstr + ' ';

}
if(字符[x]!=''){
newstr=newstr+''+chars[x]+'';
计数器++;
}否则{
newstr=newstr+“”;
}
他们所做的是,他们打破了元素的HTML内容,并通过将其添加到SPAN

因此,
TEST
变成了
等等,所以它不再像HTML标记那样,而是简单的文本

我认为你最好的选择是找到文本的直接父元素 差不多

$.getScript("http://xoxco.com/projects/code/rainbow/rainbow.js",function() {
var selectMe= ["u1","u2"];
for(var i =0;i<selectMe.length;i++){
$('.username').find('a[href*="'+selectMe[i]+'"]').addClass('selected');
}
  $('.selected').find('*').andSelf().contents().filter(function(){
   return this.nodeType===3;
  }).parent().text(function() {
    $(this).rainbow({
  colors: [
  '#FF0000',
  '#f26522',
  '#fff200',
  '#00a651',
  '#28abe2',
  '#2e3192',
  '#6868ff'
  ],
animate:true,
animateInterval:100,
pad:false,
pauseLength:100
});
});
});
$.getScript(“http://xoxco.com/projects/code/rainbow/rainbow.js“,函数(){
var selectMe=[“u1”,“u2”];

对于(var i=0;iwhats-worng?你能详细说明这个问题吗?如果你看一下JSBIN,你可以看到眼前的问题:)现在工作得很好,问题是它显示了HTML,现在它没有。你能给我解释一下nodeType==3和andSelf()吗?nodeType是3是textNode…但是
。find('*'))
如果除了
TEXT
元素之外没有子元素,则跳过节点,这样addSlef将添加执行
find
的所有元素。因此不会错过
span class='selected'直接包含文本的元素。
$.getScript("http://xoxco.com/projects/code/rainbow/rainbow.js",function() {
var selectMe= ["u1","u2"];
for(var i =0;i<selectMe.length;i++){
$('.username').find('a[href*="'+selectMe[i]+'"]').addClass('selected');
}
  $('.selected').find('*').andSelf().contents().filter(function(){
   return this.nodeType===3;
  }).parent().text(function() {
    $(this).rainbow({
  colors: [
  '#FF0000',
  '#f26522',
  '#fff200',
  '#00a651',
  '#28abe2',
  '#2e3192',
  '#6868ff'
  ],
animate:true,
animateInterval:100,
pad:false,
pauseLength:100
});
});
});