2015-04-06 57 views
-2
var dstr='<p id="para">&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo<a href="#table1(t1)" id="ytD2F">table1</a> test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo <a href="#table2(t2)" id="ytD2F">table2</a>&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;</p>'; 

HREF值i必須找到所有href屬性,其中「表」的字符串應當存在例如:HREF =「#table1的(T1)」,然後我有與存在於串來代替它在括號,例如:HREF = 「T1」替換DOM可變

+0

你期待嗯? – 2015-04-06 11:48:15

回答

0

如果我理解正確的話,你需要這樣的:

var re = /(#table\d+)|\((\w{1,2})(\))/g; 
var str = '<p id="para">&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo<a href="#table1(t1)" id="ytD2F">table1</a> test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo <a href="#table2(t2)" id="ytD2F">table2</a>&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;demo test&nbsp;</p>'; 
var subst = '$2'; 

var result = str.replace(re, subst); 
console.log(result); 

Regex101演示:https://regex101.com/r/uP6uY7/1

+0

哎thankcx年答案剛剛完美其解決了我的問題 – imrahul 2015-04-07 11:20:46

1

希望它能幫助:

var href1=document.getElementsByTagName('a'); 
for(i=0;i<href1.length;i++) { 
    var val=href1[i].getAttribute('href'); 
    if(val!=null && val.indexOf("table")>=0) { 
    var str=val.substring(val.lastIndexOf('(')+1,val.lastIndexOf(')')); 
    href[i].setAttribute('href',str); 
    } 
} 
1

這裏是一個辦法做到這一點:

$init = $('a[href*="table"]').attr('href'); 
     $('a[href*="table"]').attr('href',$init.substring($init.lastIndexOf('(')+1,$init.lastIndexOf(')'))); 

的jsfiddle:https://jsfiddle.net/vxpyyy15/3/

+0

你應該測試這個代碼,它有多個問題 – charlietfl 2015-04-06 12:01:04

+0

我已經更新了我的答案 – madalinivascu 2015-04-06 12:11:38

+0

仍然沒有任何意義你的替換正在做什麼,它不會改變個人'href'這將使他們都基於第一個找到 – charlietfl 2015-04-06 12:14:13