Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式类名问题_Javascript_Jquery_Html_Regex - Fatal编程技术网

Javascript正则表达式类名问题

Javascript正则表达式类名问题,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,为这个问题的模糊标题道歉 我有下面的JS,它查找带有特定来源图像的img标记。然后,它将img标记替换为span,这样我就可以用图标替换图像/图标 var paths = [ "folder%2Fadd", "folder%2Fclear", "folder%2Fdelete", "folder%2Fedit", "folder%2Fmove", "folder%2Fsort", ]; var fullPaths

为这个问题的模糊标题道歉

我有下面的JS,它查找带有特定来源图像的img标记。然后,它将img标记替换为span,这样我就可以用图标替换图像/图标

var paths = [       
    "folder%2Fadd",
    "folder%2Fclear",
    "folder%2Fdelete",
    "folder%2Fedit",
    "folder%2Fmove",
    "folder%2Fsort",
    ];


    var fullPaths = paths.map(function(x) { return "img[src*='" + x + "']"; } );
    var imgs = document.querySelectorAll(fullPaths);

        for (var i = 0; i < imgs.length; i++) {

            var span = document.createElement("span");
            span.addClass("iconfont");
            span.title = imgs[i].parentNode.title;
            imgs[i].parentNode.replaceChild(span, imgs[i]);


        }
var路径=[
“文件夹%2添加”,
“文件夹%2清除”,
“文件夹%2删除”,
“文件夹%2Edit”,
“文件夹%2移动”,
“文件夹%2排序”,
];
var fullPaths=paths.map(函数(x){返回“img[src*='”+x+'];});
var imgs=document.queryselectoral(完整路径);
对于(变量i=0;i
到目前为止,一切都很顺利,但还有一个问题我无法解决

除了在.iconfont的span中添加一个类之外,我还想在span-1)被替换的img元素的原始类中添加两个类,以及2)图像源的名称,与我的数组一样,但前面没有“folder/”位

因此,目前我有:

<img class = "tinyicon" src="******/t/edit">

我的脚本在DOM中创建了以下内容:

<span class = "iconfont">

但我希望我的脚本创建以下内容:

<span class = "iconfont tinyicon edit">

这就是我想要的:)

谢谢你看

var路径=[
var paths = [       
    "folder%2Fadd",
    "folder%2Fclear",
    "folder%2Fdelete",
    "folder%2Fedit",
    "folder%2Fmove",
    "folder%2Fsort",
    ];


var fullPaths = paths.map(function(x) { return "img[src*='" + x + "']"; } );
var imgs = document.querySelectorAll(fullPaths);

for (var i = 0; i < imgs.length; i++) {
    var img    = imgs[i],
        iClass = img.className,
        iSrc   = img.src.split('/').pop(),
        span   = $('<span />', {'class': 'iconfont '+iClass+' '+iSrc,
                                title  : img.parentNode.title
                 });

    $(img).replaceWith(span);
}
“文件夹%2添加”, “文件夹%2清除”, “文件夹%2删除”, “文件夹%2Edit”, “文件夹%2移动”, “文件夹%2排序”, ]; var fullPaths=paths.map(函数(x){返回“img[src*='”+x+'];}); var imgs=document.queryselectoral(完整路径); 对于(变量i=0;i
更改此选项:

 var span = document.createElement("span");
 span.addClass("iconfont");
为此:

 var span = document.createElement("span");
 span.className = "iconfont tinyicon edit";

你的
addClass()
无论如何都不会工作,因为span是一个DOM节点,而不是jQuery对象。

除了它将整个img源添加为类名之外,它还非常有用,而不仅仅是“folder/”后面的位。但是我已经用“%2F”替换了你的“/”,现在它非常完美,非常感谢!谢谢,这看起来很有希望,但它没有将img源代码添加为类,而是添加了“folder,folder”-也许您的正则表达式代码不太正确?
        var span = document.createElement("span");
        var className = "iconfont " + imgs[i].className + ' ' + imgs[i].src.match(/([a-z])$/i, '')
        span.className  = className ;
        span.title = imgs[i].parentNode.title;
        imgs[i].parentNode.replaceChild(span, imgs[i]);