2010-02-26 7 views
0

테이블의 행을 복제 한 후 요소의 "id"를 변경하려고하는 jQuery 행을 따르고 있다고 가정 해 봅니다. 어떻게 요소의 인스턴스를 참조하고 "buildControlId"함수에 전달할 수 있습니다.jQuery : 작동중인 요소를 참조하는 방법?

$row.find("select [id$='ctlType']").attr("id", buildControlId(???)); 

나는 이렇게 할 수 있지만 변수를 선언 할 필요없이 더 짧은 버전을 찾고 있습니다.

var $el = $row.find("select [id$='ctlType']"); 
$el.attr("id", buildControlId($el[0])); 

답변

1

:

$row.find("select [id$='ctlType']").attr("id", function(){ 
    buildControlId($(this)); 
}); 

그리고 속성 값을 반환 함수 : 나는이 기능을 사용하는 경우

function buildControlId($param){ 
    return "hello"; 
} 
+0

아은 "이"저를 제공하므로 요소. 나는 기능을 사용하지 않으려 고 노력하고 있었는데, 이것을 사용하고 있었지만, 그것은 나에게 '클릭'이벤트가 묶여있는 요소를 제공하고있었습니다. – epitka

+0

네, '이'는 그 점에서 유용합니다. @noah는 각() 답변에서 똑같이 나타났습니다. –

1
$row.find("select [id$='ctlType']").each(function() { 
    $(this).attr("id", buildControlId(this)); 
}); 

이 방법은 여러 요소에 작업의 장점이있다. 선택기를 변경하여 여러 요소를 선택하는 것이 좋습니다.

당신은 두 번째 매개 변수로 함수를 지정할 수 있습니다
관련 문제