IT

jQuery로 요소의 ID 변경

lottoking 2020. 3. 18. 23:17
반응형

jQuery로 요소의 ID 변경


jQuery를 사용하여 요소의 ID를 변경해야합니다.

분명히 이들은 작동하지 않습니다.

jQuery(this).prev("li").attr("id")="newid"
jQuery(this).prev("li")="newid"

나는 다음 코드로 그렇게 할 수 있음을 발견했다.

jQuery(this).prev("li")show(function() {
    this.id="newid";
});

그러나 그것은 나에게 옳지 않은 것 같습니다. 더 좋은 방법이 있어야합니까? 또한없는 경우 표시 / 숨기기 또는 다른 효과 대신 사용할 수있는 다른 방법은 무엇입니까? 분명히 ID를 변경하기 위해 매번 요소를 표시하거나 숨기거나 영향을주고 싶지 않습니다.

(예, 저는 jQuery 초보자입니다.)

편집
이 경우 클래스를 사용할 수 없으며 ID를 사용해야합니다.


구문이 잘못되었으므로 값을 두 번째 매개 변수로 전달해야합니다.

jQuery(this).prev("li").attr("id","newId");

선호하는 옵션 .attr.prop다음과 같이 사용하는 것입니다.

$(this).prev('li').prop('id', 'newId');

.attr요소의 속성을 .prop검색 하지만 속성이 참조하는 속성 (예 : 실제로 수정하려는 속성)을 검색합니다.


당신이 의미하는 것은 :

jQuery(this).prev("li").attr("id", "newID");

ID를 새로운 ID로 설정합니다


나는이 구성과 비슷한 것을했다

$('li').each(function(){
  if(this.id){
    this.id = this.id+"something";
  }
});

목표가 무엇인지 잘 모르겠지만 대신 addClass를 사용하는 것이 더 좋을까요? 내 생각에 객체 ID는 정적이며 해당 객체에 고유해야합니다. 페이지에 표시되지 않도록 변경하려고하면 해당 세부 정보를 클래스에 넣은 다음 ID를 변경하려고하는 대신 객체에 추가합니다. 다시 말하지만, 당신의 밑줄 목표를 이해하지 않으면 서.


$("#LeNomDeMaBaliseID").prop('id', 'LeNouveauNomDeMaBaliseID');

<script>
       $(document).ready(function () {
           $('select').attr("id", "newId"); //direct descendant of a
       });
</script>

이것은 모든 목적을 위해 할 수 있습니다. 본문 닫기 태그 앞에 추가하고 Jquery.min.js 를 추가하지 마십시오.


에 란의 대답은 좋지만 나는 그것에 덧붙일 것입니다. 객체에 인라인이 아닌 상호 작용을 지켜야합니다 (즉, onclick 이벤트가 함수를 호출하면 여전히 작동합니다).하지만 그 ID에 연결된 자바 스크립트 또는 jQuery 이벤트 처리가 있으면 기본적으로 포기됩니다. :

$("#myId").on("click", function() {});

ID가 이제 # myID123으로 변경되면 위에 첨부 된 기능이 더 이상 내 경험에서 올바르게 작동하지 않습니다.

참고 URL : https://stackoverflow.com/questions/347798/changing-an-elements-id-with-jquery

반응형