2013-06-22 3 views
-1

Есть ли способ передать arguments к jquery/javascript, как показано нижеЕсть ли способ передать несколько аргументов в функции JQuery

function showContentDiv(args ......){ 
//do some thing with looping args 
} 

и использования как

showContent("","","",""); //should change the parma count each time 

причина избегать подготовки массива в jQuery и прохождение У меня есть ссылки, как показано ниже

<a onclick="javaScript:showContent("val1","val2","val3")"> 

<a onclick="javaScript:showContent("val1","val2")"> 
+0

Или, может быть, это дубликат [Можно ли отправить переменное число аргументов функции JavaScript?] (http://stackoverflow.com/q/1959040/218196). Я не знаю, спрашиваете ли вы, как создать вариационную функцию или как ее вызвать. –

ответ

2

Функции JavaScript автоматически имеют arguments object - объект, подобный массиву, который включает элементы для каждого параметра, переданного функции.

Следующий пример просто проходит через любые аргументы и записывает их в консоль.

function showContentDiv(){ 
    for (var i = 0; i < arguments.length; i++) { 
     console.log(arguments[i]); 
    } 
} 

Как и в сторону, не включают в себя javaScript: в начале Вашего мероприятия атрибуты. Это не требуется ни одним браузером. onclick="showContent()" в порядке. (В случае, когда «отлично» я имею в виду «не так хорошо, как связывание событий в блок сценария».)

+0

Кажется, это здорово, Лемм работает над этим. –

1

попробовать этот

<a onclick="javaScript:showContent("val1,val2,val3")"> 

function showContentDiv(args){ 
var argsList=args.split(','); 
for(i=0;i<argsList.length;i++) 
{ 
argsList[i] 
} 
//do some thing with looping args 
} 
+0

Что делать, если вы хотите вызвать 'showContent()' с аргументами, которые не все строки? Например, 'showContent ({'a': 1, 'b': [45,12,2]}, 'test', true)' - или менее надуманный пример: showContent (func1, func2, func3) ' (где аргументы являются ссылками на функции). – nnnnnn