Я предполагаю, что ваш вопрос в том, что у вас есть строка, полученная вами из атрибута, и вы хотите получить доступ к переменной в вашем javascript с этим именем. Обычно это делается с помощью object[varName]
, где varName
- это переменная javascript, и это позволяет вам получить доступ к объекту с именем справки по имени в этой переменной.
Если переменная вы хотите получить доступ является глобальной переменной, то вы можете получить доступ к нему через строку путем индексации Офф-window
объект, поскольку все глобальные переменные свойства window
объекта:
var currentCat = $(this).attr("array");
var item = window[currentCat][0];
Если переменная, к которой вы хотите получить доступ, не является глобальной переменной, тогда вам нужно сделать ее собственностью на каком-то известном объекте, чтобы вы могли использовать эту же технику.
var myObject = {};
myObject.leads = [];
myObject.leads[0] = "Test 1";
myObject.leads[1] = "Test 2";
myObject.leads[2] = "Test 3";
var currentCat = $(this).attr("array");
var item = myObject[currentCat][0];
FYI, то рекомендуется способ хранения пользовательских атрибутов в вашем HTML является префикс пользовательского свойства с "data-"
, а затем вы можете использовать JQuery-х .data()
для получения пользовательского атрибута, и вы также будут совместимы с Спецификация HTML5 для пользовательских атрибутов.
<div data-array="leads">
var currentCat = $(this).data("array");
У вас есть рабочий Plunk или JSFiddle? Трудно сказать, в чем проблема, без кода. –
'$ (this) .attr (" array ");' ??? Поместите полный пример кода прямо в свой вопрос. Как «ведет» работать в вашу ситуацию? –
'currentCat' будет значением атрибута, который может быть только строкой. Где массив попадает в него? – Quentin