Javascript 正则表达式类名问题
Javascript regex classname issue
为这个问题的模糊标题道歉!
我有以下JS,它查找带有某些来源图像的img标签。然后,它将 img 标签替换为跨度,以便我可以用图标字体替换图像/图标。
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]);
}
到目前为止,一切进展顺利,但还有一个问题我无法解决。
除了在 .iconfont 的跨度中添加一个类之外,我还想在跨度中添加另外两个类 - 1 ) 被替换的 img 元素的原始类,以及 2) 图像源的名称,如我的数组,但没有前面的"文件夹/"位。
所以,目前我有:
<img class = "tinyicon" src="******/t/edit">
我的脚本在 DOM 中创建这个:
<span class = "iconfont">
但我希望我的脚本创建以下内容:
<span class = "iconfont tinyicon edit">
这就是我所追求的:)
感谢您的观看!
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);
}
更改以下内容:
var span = document.createElement("span");
span.addClass("iconfont");
对此:
var span = document.createElement("span");
span.className = "iconfont tinyicon edit";
无论如何,你的addClass()
都不起作用,因为span是一个DOM节点,而不是jQuery对象。
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]);
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- 正则表达式匹配模式或匹配其他所有内容 - 匹配优先级问题
- 这个正则表达式的日期/时间有什么问题
- 为密码验证实现正则表达式时出现问题
- JavaScript 正则表达式匹配问题
- 我的电子邮件正则表达式有什么问题
- Javascript中的正则表达式问题转义特殊字符
- JavaScript正则表达式代码匹配字符和数字的问题
- url的正则表达式有问题
- 这个正则表达式有什么问题
- 为此模式编写正则表达式时遇到问题
- AngularJS ng-pattern的正则表达式问题
- 在这种情况下,正则表达式中的“[”是什么( 2 个问题)
- JS正则表达式结果表达式赋值问题
- 正则表达式替换问题
- 匹配 JavaScript 中的字符串时的正则表达式问题
- 奇怪的JavaScript正则表达式替换问题
- JavaScript正则表达式(缺少“/”),我该如何解决这个问题
- 我的验证码有什么问题?(正则表达式很好)
- JavaScript 我非常简单的正则表达式有什么问题