我需要搜索TM和寄存器符号的不同元素®& ™。我尝试编写一个非常通用的标识符,如*:contains('™')。each();然而,这并没有找到正确的元素。所以我更具体,相信它只会在标题中写下*:headers:contains('™')。each();.它似乎也出现在某些段落中。 我不想重写代码,所以我只是在它的调用中添加了一个参数。所以我的电话来自
addText(){
$('*:header:contains("™")').each(function(){
var str = $(this).html();
var position = str.indexOf('™');
//0, position is the string preceding the superscripted string
//position is the superscripted string
//position+1 is the string after the superscripted string
var output= str.substr(0, position)+'<sup>™</sup>'+str.substr(position+1);
$(this).html(output);
});
}
}
}
到
addText('element'){
{$('*:'+element+':contains("™")').each(function(){
var str = $(this).html();
var position = str.indexOf('™');
//0, position is the string preceding the superscripted string
//position is the superscripted string
//position+1 is the string after the superscripted string
var output= str.substr(0, position)+'<sup>™</sup>'+str.substr(position+1);
$(this).html(output);
});
}
}
}
当我使用'header'作为参数运行代码时,即addText('header');
它运行正常。但是,当我将代码作为addText('p');
运行时,我得到了
jquery.min.js?v=2.2.3:2 Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: p