我有几个id有以下名称test1,test2,test3,test4,我有以下jQuery:
jQuery(document).ready(function() {
jQuery('#test').jcarousel({
//something
});
});
我也有以下代码:
jQuery.get(
'allmovieloader.php',
{
first: carousel.first,
last: carousel.last
id: myelementid
},
function(xml) {
mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, xml);
},
'xml'
);
因此,当我调用get时,我也希望传入id,如test1,test2,test3 我应该如何更改此jQuery代码,以便它适用于test1,test2,test3
答案 0 :(得分:2)
为各种元素分配一个类名,然后使用该类作为选择器($('.className').jcarousel({ // something })
)要容易得多,但是如果你想使用id
作为选择器你有几个选择:
首先:
$('#test1, #test2, #test3').jcarousel({ // something });
其次:
$('div[id^="test"]').jcarousel({ // something });
根据您对@Bjorn的评论:
我需要使用id,因为每个id名称都将作为参数传递
您仍然可以使用class-name作为选择器:
$('.className').jcarousel(
function(){
var idOfElement = this.id;
// other stuff
});
一个附带问题,jQuery如何获取元素名称,以便我可以将其传递给?
要获取元素名称(我假设您的意思是标记名?),您可以使用:
$('.className').jcarousel(
function(){
var nameOfTag = this.tagName;
alert(nameOfTag);
});
参考文献:
答案 1 :(得分:0)
只需编辑您的选择器?即#test, #test1, #test2
等?或者更好的是,分配一个班级。
答案 2 :(得分:0)
我建议选择你想要的元素,然后使用$()。each来“迭代”每个元素,它将传递的函数应用于你选择的每个元素。您可以通过这种方式获取每个元素的特定属性。
$('#test, #test1, #test2').each(function(index, dom_element){
var $this = $(dom_element);
var id = $this.attr('id'); //eg. test, or test1, or test2
$this.jcarousel({/*do something*/});
});
var $这是因为选择器只需要处理一次。你可以使用$(this)代替,但我认为它会慢一点。