[英]How do I access an element if the id which I want to access is stored in a variable
我試圖動態創建元素,從而動態地為其賦予值。 因此,如果我想使用存儲在變量中的值訪問元素,該怎么做?
我試過使用$("#'"+g+"'")
但是沒有用
var text1 = '<div id="' + g + '"></div>';
var text2 = '<input data-checkbox="' + g + '" type="checkbox" style="display:none;"/><h3 data-header="' + g + '" style="display:inline-block;">Timer' + g + ' </h3><input data-input="' + g + '" type="text" style="display:none;"/>';
var text3 = '<span data-minutes="' + g + '">00</span>:<span data-seconds="' + g + '">00 </span><button data-start="' + g + '" >start</button><button data-stop="' + g + '" style="display:none;">stop</button><button data-clear="' + g + '" style="display:none;">clear</button>';
$('#header').append(text1);
$("#'"+g+"'").append(text2, text3);
這應該是您所需要的:
$("#" + g)
事實上,它是一個字符串。
您已經很接近正確了。 這些評論試圖告訴您您沒有正確形成選擇器。
ID的選擇器必須是以下形式的字符串:
'#id'
在您的示例中,您有太多的'
符號,因此變量g
的id將在字符串中,但被變量包圍。 如果g
是test-id
,則將具有以下字符串:
"#'test-id'"
...而jQuery無法與之匹敵。
您需要做的就是去掉那些引號,這看起來可能是這樣:
var g = 'any-id'; var text1 = '<div id="' + g + '"></div>'; var text2 = '<span>Some other text</span>'; $('#header').append(text1); $('#' + g).append(text2);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="header">Header is here</div>
您只是有一個小錯誤。
您需要這樣嘗試$("#"+g).append(text2, text3);
var g = "data"; var text1 = '<div id="' + g + '"></div>'; var text2 = '<input data-checkbox="' + g + '" type="checkbox" style="display:none;"/><h3 data-header="' + g + '" style="display:inline-block;">Timer' + g + ' </h3><input data-input="' + g + '" type="text" style="display:none;"/>'; var text3 = '<span data-minutes="' + g + '">00</span>:<span data-seconds="' + g + '">00 </span><button data-start="' + g + '" >start</button><button data-stop="' + g + '" style="display:none;">stop</button><button data-clear="' + g + '" style="display:none;">clear</button>'; $('#header').append(text1); $("#"+g).append(text2, text3);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="header"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.