프로토 타입 : 선택기를 동적으로 구성하는 방법은 무엇입니까?
-
08-07-2019 - |
문제
프로토 타입의 선택기에 변수를 전달하는 데 약간의 어려움이 있습니다. 변수를 선택 문자열로 전달할 수 있으므로 하나의 기능이 같은 종류의 많은 사람들에게 작동 할 수 있습니다.
현재 이것은 내가 기본적으로하고 싶은 일입니다.
function myFunct(var)
{
$(var + 'add_form').hide() //so inde the brackets would be ('#product1 #add_form') for example.
}
'var'를 선택기로 전달하는 함수로 전달할 수 있으므로 페이지의 많은 사람들에게 동일한 패턴을 숨길 수 있습니다.
따라야 할 길에 대한 아이디어는 크게 감사 할 것입니다.
해결책
당신은 올바른 길을 가고 있습니다! 몇 가지 :
var
JavaScript 키워드입니다.원천), 변수의 이름을 지정하는 데 사용하지 마십시오- ID로 요소를 쿼리하는 경우 (예 :
#add_form
)하고있는 동안 컨테이너 요소를 추가 할 필요가 없습니다. - 요소를 쿼리하는 경우
class
, 당신은 그것을 사용해야합니다$$
기능이 아닙니다$
기능 - 방법을 호출하려면 포장 세트를 반복해야합니다.
Whitespace는 CSS Selector에서 중요하므로 선택기 구성에있는 것들을 포함하여 프로토 타입을 검색하도록하십시오. 이내에 부모 컨테이너 :
function myFunct(parent) { $$(parent + ' .add_form').invoke('hide') } myFunct('#someparent'); // hides .add_form inside #someparent
다른 팁
작동해야합니다 ... 이름을 바꾸십시오 var
다른 것에.
function myFunct(yourVar)
{
$$('#' + yourVar + ' .add_form').each(function(s){ s.hide(); }); // yourVar being the id of the container element
}
나는 '.'를 넣었다. Add_form 앞에서 동일한 ID로 여러 요소를 사용할 수 없으므로 클래스로 만드십시오.
제휴하지 않습니다 StackOverflow