jquery
2013-04-24 83 views 0 likes 
0

我已將一堆代碼移至.net usercontrol。爲了保持相當通用的東西,我試圖將依賴於唯一ID的所有jQuery選擇器更改爲類或名稱選擇器。附加到使用名稱作爲選擇器的元素

現在,我遇到了使用jQuery向使用名稱選擇器的元素附加生成的HTML的問題。

這裏就是我說的:

var displayResultsName = $(this).data("str"); 
$(html).appendTo('[name=' + displayResultsName + ']'); 

出於某種原因,jQuery的不喜歡這一點。有沒有更好的或正確的方法來做到這一點?

感謝

+1

是什麼jQuery的準確說出?你有沒有嘗試把HTML之間的報價? $(「html」)。appendTo(...) – blackbird 2013-04-24 20:05:11

+2

只是一個快速測試,[作品](http://jsfiddle.net/heera/MJZm5/1/)。 – 2013-04-24 20:06:28

+0

您正在測試哪個瀏覽器?它適用於Chrome。沒有在其他人嘗試 – hop 2013-04-24 20:10:38

回答

2

你錯過了引號試試這個

$(html).appendTo('[name="' + displayResultsName + '"]'); 
+1

但是,它在Chrome中沒有引號。不確定可以解決OP的問題。我推薦使用引號 – hop 2013-04-24 20:10:00

+1

來自[jQuery屬性選擇器](http://api.jquery.com/category/selectors/attribute-selectors/):_選擇器表達式中的屬性值必須遵循W3C CSS選擇器的規則;一般來說,這意味着除了有效標識符以外的任何東西都應該用引號括起來._引用很好,但不一定是必需的 – Andreas 2013-04-24 20:12:38

1

http://jsfiddle.net/U6WGH/

//simple value added to selector by name 
$('input[name="myInput"]').val('Hello!'); 

//object created in memory and appended to div by name 
var domObject = $('<span>Yo.</span>'); 
$('div[name="myDiv"]').append(domObject); 

//object created on the fly and appended to div by name 
$('<span>Wasup?</span>').appendTo($('div[name="otherDiv"]')); 
相關問題