如果这个问题得到解答,我深表歉意。我尝试过搜索,但是对此很新鲜,也许我没有使用正确的术语。
我有一个页面,其中包含以下 pdf 示例的链接:
<a href="https://www.pdflinks.com/files/190488/nameoffile.pdf">Link1</a>
<a href="https://www.pdflinks.com/files/112254/nameoffile.pdf">Link2</a>
如果 URL 包含 6 位数字(如上所述)和 .pdf,是否可以使用正则表达式和 JQuery 将这些值作为类添加到 href 中?所以结果是:
<a href="https://www.pdflinks.com/files/190488/nameoffile.pdf" class="pdf190488">Link1</a>
<a href="https://www.pdflinks.com/files/112254/nameoffile.pdf" class="pdf112254">Link2</a>
我尝试过以下方法,但没有雪茄
var regex = "^[0-9]{1,6}$";
$('a').each(function() {
$(this).addClass(regex.match($(this).attr("href"))[0]
});
最佳答案
有几个错误:
- 正则表达式已锚定:没有匹配项
- 正则表达式初始化错误
- 使用方法
exec
而不是match
- JS 无效(缺少右括号)
var regex = /[0-9]{1,6}/;
$('a').each(function() {
$(this).addClass('pdf' + regex.exec($(this).attr("href"))[0]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<a href="https://www.pdflinks.com/files/190488/nameoffile.pdf">Link1</a>
<a href="https://www.pdflinks.com/files/112254/nameoffile.pdf">Link2</a>
此外,如果您的意思是正好 6 位数字,请将正则表达式更改为 [0-9]{6}
关于jquery - 如果 URL 包含 6 位数字,则将该值 append 到类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859072/