2016-08-25 6 views
-1

HREFタグが関数に転用された場合、Firefoxは新しいタブでリンクを開くことができないため、スクリプトを使用して変換することができます。すなわち実際のHREFに転送する。フィルタリングされた特定のHREF値のすべてのインスタンスを別の値に変換するスクリプト

fooの動作を確認できます。

function foo(x) { self.location.href = 'page.asp?ID=' + x } 

だから私はすべてのインスタンスを変更する必要があります。

<a href="javascript:foo(12354)">

へ。

12354は可変であり、変更する必要が唯一のHREFタグは、関数fooを呼び出すものです?
<a href="page.asp?ID=12354"> 

何か;

var anchors = document.querySelectorAll('a'); 

for(var i=0;i<anchors.length;i++) 
{ 
    if(anchors[i].href includes 'foo' then 
    { 
     val1 = get the value within the parenthesis; i.e. 12354 
     anchors[i].href = "page.asp?ID=" + val1 
    } 

} 

答えて

1

href属性でfooテキストを持つリンクを列挙するIDを抽出し、新しい値を割り当てる:

[].forEach.call(document.querySelectorAll('a[href^="javascript:foo"]'), function(a) { 
    var id = a.href.match(/\d+/)[0]; 
    a.setAttribute('href', 'page.asp?ID=' + id); 
}); 
+0

おかげで、それは良い傾いた点です。 JavaScriptを初めて使う – Terry

関連する問題