2016-11-23 70 views
0

我有動態顯示在頁面上的鏈接,它們的ID也是動態創建的。是否有可能讓一個jquery選擇器接受一個變量?

我可以做這樣的事情:

$('#dynamicVariable').otherStuff(); 

我一直喜歡不同的東西:

var whatever = "'#"+originalVariable+"'"; 

$(whatever).doStuff(); 

這一切都不是工作。有沒有一個正確的方法來做到這一點?或者它是不可能的?

當用戶點擊一個鏈接時,我希望在點擊每個鏈接旁邊顯示一個複選標記。如上所述,這些問題都是動態創建的,所以我不能硬編碼任何東西。

+0

您能否提供一個可行的例子? – Gavin

回答

0

使用

var whatever = "#"+originalVariable; 

任何你想要的是一個字符串等於 「#foo」 不 「 '#foo'」

外部引用唐實際上並不存在......這只是告訴解析器你描述一個字符串的一種方式。

4

刪除在選擇器中完全不必要的額外報價。

var whatever = "#" + originalVariable; 
//   --^--       
$(whatever).doStuff(); 
0

當然可以。選擇器查找一個有效的選擇器,以字符串形式提供。所以,你建立有效字符串的方式取決於你。

在你的情況,你有一個字符串包含一組額外的引號,所以雖然你有一個有效的字符串,你沒有一個有效的選擇器。

var originalVariable = $("div")[0].id; 
 
console.log(originalVariable); 
 
$("#" + originalVariable).html("Gotcha!");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="whatever"></div>

相關問題