考慮一下:爲什麼這種類型的數組包裝在jQuery中不起作用?
var i=$('<img src="/path/to/imgI.png"/>');
var j=$('<img src="/path/to/imgJ.png"/>');
$([i,j]).css('cursor','hand');
光標但不改變,我不知道爲什麼..
當我單獨做的,它的工作原理。
謝謝。
考慮一下:爲什麼這種類型的數組包裝在jQuery中不起作用?
var i=$('<img src="/path/to/imgI.png"/>');
var j=$('<img src="/path/to/imgJ.png"/>');
$([i,j]).css('cursor','hand');
光標但不改變,我不知道爲什麼..
當我單獨做的,它的工作原理。
謝謝。
當您需要的是這些jQuery對象中的DOM元素時,該數組有兩個jQuery對象。這將工作:
var i=$('<img src="/path/to/imgI.png"/>')[0]; // <= Notice [0]
var j=$('<img src="/path/to/imgJ.png"/>')[0];
$([i,j]).css('cursor','pointer');
或者,(使用add()
)
var i=$('<img src="/path/to/imgI.png"/>');
var j=$('<img src="/path/to/imgJ.png"/>');
$(i).add(j).css('cursor','pointer');
編輯:另外,用cursor:pointer;
,而不是cursor:hand;
你確定你的問題不是瀏覽器特定的?這個特殊的CSS屬性是棘手的,它要求該屬性設置兩種不同的方式在IE和Firefox中工作。
我建議使用img標籤中的類來指定手屬性。然後,您可以指定兩個規則並獲取您要查找的內容。
會更有意義,把選擇在陣列中:
var i = $('<img src="/path/to/imgI.png"/>').attr('id','i');
var j = $('<img src="/path/to/imgJ.png"/>').attr('id','j');
$(['#i', '#j']).css('cursor','hand');
正確的遊標屬性爲「指針」而不是「手」,這是一個只有IE瀏覽器的擴展,不再需要任何東西,但IE 5.5和更低 - 即很少。
您可以使用jQuery方法將jQuery對象轉換爲true數組,然後將它們合併。
var i=$('<img src="/path/to/imgI.png"/>');
var j=$('<img src="/path/to/imgJ.png"/>');
i = $.makeArray(i);
j = $.makeArray(j);
$($.merge(i,j)).css('cursor','pointer');
順便說一句,當你需要添加多個jQuery的選擇在一起也工作,
i = $.makeArray($('div'));
j = $.makeArray($('a'));
$($.merge(i,j)); //this jQuery object holds all divs and a's
你當然也可以是這樣做的:
$('div').add('a');