Javascript 特别是Don’;t替换某些文本-不起作用

Javascript 特别是Don’;t替换某些文本-不起作用,javascript,sifr,Javascript,Sifr,首先,我使用的是sIFR3、r419(我无法升级,因为我无法访问flash…)。 我有一个网页,我已经取代了所有现有的H1,H2和H3与sIFR-这就像一个魅力工程。但是我想使用YUI富文本编辑器。该编辑器的特点是它在工具栏中也使用H1、H2和H3。这两样东西结合起来,呃,相当难看:) 整个编辑器与类“yui skin sam”在一个div中。我已经在我的sIFR-config.js顶部添加了来自sIFR的WIKI的建议代码: parseSelector.pseudoClasses = { 'n

首先,我使用的是sIFR3、r419(我无法升级,因为我无法访问flash…)。 我有一个网页,我已经取代了所有现有的H1,H2和H3与sIFR-这就像一个魅力工程。但是我想使用YUI富文本编辑器。该编辑器的特点是它在工具栏中也使用H1、H2和H3。这两样东西结合起来,呃,相当难看:) 整个编辑器与类“yui skin sam”在一个div中。我已经在我的sIFR-config.js顶部添加了来自sIFR的WIKI的建议代码:

parseSelector.pseudoClasses = {
'not': function(nodes, selector) {
var result = [];
each: for(var i = 0, node; i < nodes.length; i++) {
  node = nodes[i];
  var ignore = parseSelector(selector, node.parentNode);
  for(var j = 0; j < ignore.length; j++) {
    if(ignore[j] == node) continue each;
  }
  result.push(node);
}
return result;
}
}
function sIFRignore(selector) {
    var nodes = sIFR.dom.querySelectorAll(selector);
    for(var i=0; i < nodes.length; i++) {
        var node=nodes[i];
        node.style.visibility  = 'visible';
        node.style.fontFamily  = 'Verdana';
        sIFR.dom.addClass("sIFR-ignore", node);
    }
    return true;                
}
这感觉很烦人!这个问题在新版本的sIFR3中解决了吗


再次感谢

div:not(.yui sam skin)h2
应该可以工作,我认为……选择器的内容超出了sIFR的范围,因此在以后的版本中不会有任何更改。您可以尝试将选择器代码交换为jQuery:。

好的,所以我终于想出了一个难看的解决方案。在sifr-config.js之上:

parseSelector.pseudoClasses = {
'not': function(nodes, selector) {
var result = [];
each: for(var i = 0, node; i < nodes.length; i++) {
  node = nodes[i];
  var ignore = parseSelector(selector, node.parentNode);
  for(var j = 0; j < ignore.length; j++) {
    if(ignore[j] == node) continue each;
  }
  result.push(node);
}
return result;
}
}
function sIFRignore(selector) {
    var nodes = sIFR.dom.querySelectorAll(selector);
    for(var i=0; i < nodes.length; i++) {
        var node=nodes[i];
        node.style.visibility  = 'visible';
        node.style.fontFamily  = 'Verdana';
        sIFR.dom.addClass("sIFR-ignore", node);
    }
    return true;                
}

这也是我的想法,但它也不会那样工作。我将测试另一个选择器代码,然后返回……现在我使用jQuery进行了测试,得到了相同的结果。我认为我的“解决方案”将是一个sIFRignore(选择器)的东西,它通过选择器,例如,yui skin sam*h3并在其上添加类sIFR ignore。