-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>';

i have to find all href attribute in which "table" string should be present eg:href="#table1(t1)" and then i have to replace it with the string present in braces eg:href="t1"

imrahul
  • 41
  • 6

3 Answers3

1

Hope it helps:

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);
   }
}
Brijesh Bhatt
  • 3,810
  • 3
  • 18
  • 34
1

here is a way to do it:

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

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

madalinivascu
  • 32,064
  • 4
  • 39
  • 55
0

If i understand you correctly, you need this:

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 demo: https://regex101.com/r/uP6uY7/1

sinisake
  • 11,240
  • 2
  • 19
  • 27