륜디아
1k
2019-07-09 15:10:29
5
288

jquery 질문드립니다!!


<li id="childrenRow2">

<div class="fl">

<p class="title"><label for="childrenName2">자녀 이름</label></p>

<div class="cont">

<input type="text" name="childrenName2" id="childrenName2" class="input1" title="자녀 이름2" >

</div>

</div>

<div class="fl">

<p class="title"><label for="childrenBirth2">생년월일</label></p>

<div class="cont">

<input type="text" name="childrenBirth2" id="childrenBirth2" class="input1" title="자녀 생년월일2" placeholder="예)19850101"> 

<button type="button" id="btn_minus" class="btn_minus" onclick="remove_item(this)" title="삭제">-</button>

</div>

</div>

</li>


노란줄 처준 부분을 attr로 바꿔주려는데... 어떤식으로 가져와야 할지 모르겠습니다...

버튼을 누르면 이 li태그가 추가 되는 형식이라 추가 될때마다 id값과 title을 변경시켜 주려는데...

$('#familyInfo li:last-child') 이걸로 추가되는 li값은 가져오는데 그 밑까지 어떻게 내려가야 할지 모르겠네요.....

도와주시면 감사합니다!!


0
0
  • 답변 5

  • 지나가던신입
    528
    2019-07-09 15:16:32 작성 2019-07-09 15:18:00 수정됨

    전역으로 var index = 0; 으로 선언해주고 li를 추가할 때마다 전역 index값을 index++; 해주고 $('#familyInfo li:last-child').attr("id", "childrenBirth"+index); 이런식으로 하면 안되나요?


    <script>
    var index = 0;
    function .. (){
      $('#familyInfo li:last-child).attr("id", "childrenBirth"+index);
      index++;
    }
    </script>


    0
  • 륜디아
    1k
    2019-07-09 15:26:39

     지나가던신입

    그렇게 되면 li태그 안으로 들어갑니다... 

    제가 하려는건 하위 input 태그의 노란줄 된 부분을 바꾸려는 거구요...

    0
  • 제르맹
    315
    2019-07-09 15:35:02

    jQuery없이 바닐라 자바스크립트로 해봤습니다. 적절히 jQuery로 변경해서 쓰셔도 될겁니다.

    document.addEventListener('DOMContentLoaded',function(){
            debugger
            const li = document.querySelector('li'); //$('#familyInfo li:last-child')[0] 와 동일한 결과입니다.
            const inputs = li.querySelectorAll('input')//바닐라 자바스크립트로 li태그 하위의 input들을 검색한 결과를 반환합니다.        
            console.log(inputs) //NodeList가 담겨있습니다.
            console.log(Array.from(inputs,input=>input.id))
            console.log(Array.from(inputs,input=>input.title))
            inputs[0].id = "아이디변경1" //이 연산의 결과 li태그의 첫번째 input 태그의 아이디가 변경됩니다.
        })


    0
  • 지나가던신입
    528
    2019-07-09 15:37:02 작성 2019-07-09 15:44:14 수정됨

    제가 잘못 읽었네요ㅎㅎ

     $('#familyInfo li:last-child).find("input")[0].id= "childrenBirth"+index;

    직접 해봤는데 되네요.

    0
  • 륜디아
    1k
    2019-07-09 15:50:01
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.