2012-09-12 32 views
0

是否有簡單的方法在腳本源中獲取哈希標籤?如何在JavaScript中獲取哈希標籤SRC

例子:

<script src='myscript.js#result=5235'></script> 

我想用變量result=5235myscript.js

+0

我認爲這是一個非常簡單的問題。使用jquery。 –

+0

你想在包含文檔或被調用腳本文件本身中獲取它嗎? (即你需要'myscript.js'中的key-value'result = 5235'作爲動態參數嗎?) – Debloper

回答

0
  var srcVariable = $(script).attr("src"); 
      var hashText = srcVariable.substring(srcVariable.indexOf('#')); 
+0

沒有jquery怎麼樣? –

+0

@RommerDelaCruz我想你已經得到了答案。 –

+3

@OP for future plz do not tag「jquery」if you want pure JS answer,like it said so in SO help docs。 (jQuery的標籤意味着你會接受JQuery的解決方案) – sajawikio

1
var hash = $('script').attr('src').split('#')[1]; 

var hash = document.getElementsByTagName('script')[0].src; 
    hash = hash.split('#')[1]; 

假設它是第一個腳本來獲得,否則將[0]更改爲腳本的任何索引。

+0

如何不jQuery的? –

+0

有趣的一個班輪@adeneo –

0

對於這個例子假設你想要做你得到那個結果=無論您的所有腳本代碼的網頁上的操作。這樣做如下:

var whatever = []; 

$('script').each(function(){ 
    var src = $(this).attr('src'); 
    var splitonhash-arrReturned = src.split('#'); 
    var yourAnswer = splitonhash-arrReturned[1]; 
    whatever.push(yourAnswer); 
}); 

PURE JS例如:

var whatever = []; 

var items = document.getElementsByTagName('script'); 

for (i=0; i< items.length; i++) 
{ 
    whatever.push(items[i].attributes.getNamedItem("src").split('#')[1]); 
}