我想在他们的&#; href'中使用一些带有特殊字符的链接。值...
例如,链接为:www.my*blog.com
当文档加载时,' *'将被JavaScript或jQuery函数删除。
我使用了两个功能:
document.addEventListener('DOMContentLoaded', function() {
var i=0,j='',val='';
var list = document.getElementsByTagName("a");
for(i;i<=list.length;i++)
{
j=list[i].getAttribute("href");
val = j.replace('*','');
list[i].setAttribute('href',val);
}
}, false);
&#13;
并在jQuery中:
$(document).ready(function()
{
var i=0,j='',val='';
var list = document.getElementsByTagName("a");
for(i;i<=list.length;i++)
{
j=$(list[i]).attr('href');
val = j.replace('*','');
$(list[i]).attr('href',val);
}
});
&#13;
但是这些功能在某些情况下无法正常工作......
答案 0 :(得分:2)
您可以使用此代码
jQuery(document).ready(function() {
jQuery("a[href*='*']").each(function() {
jQuery(this).attr("href", jQuery(this).attr("href").replace(/\*/g, ""));
});
});
答案 1 :(得分:0)
纠正循环条件,因为它正在执行循环一次额外的迭代:
$(document).ready(function()
{
var i=0,j='',val='';
var list = document.getElementsByTagName("a");
for(i;i<list.length;i++)//for(i;i<=list.length;i++)
{
j=$(list[i]).attr('href');
val = j.replace('*','');
$(list[i]).attr('href',val);
}
});