2021-03-17
우선 아래 소스를 보면, 동적으로 생성한 엘리먼트에서 value에 해당하는 값을 뽑아 오기 위한 소스이다.
<script type="text/javascript">
$(function(){
	//동적으로 생성한 오브젝트
	for(var i=1; i<=10; i++){
		$('#drawed_div').append('<div><input type="text" value="'+i+'2"></div>')
	}

	// 1번째 방식
	var rex = /value="?([^"\s]+)"/g
	$('#drawed_div div').each(function(k,v){
		console.log( rex.exec($(this).html()) )
	})

	// 2번째 방식
	$('#drawed_div div').each(function(k,v){
		var rex = /value="?([^"\s]+)"/g
		console.log( rex.exec($(this).html()) )
	})
})
</script>

<div id="drawed_div"></div>

1번째 방식 console.log() 결과
(2) ["value="12"", "12", index: 19, input: "<input type="text" value="12">", groups: undefined]
null
(2) ["value="32"", "32", index: 19, input: "<input type="text" value="32">", groups: undefined]
null
(2) ["value="52"", "52", index: 19, input: "<input type="text" value="52">", groups: undefined]
null
(2) ["value="72"", "72", index: 19, input: "<input type="text" value="72">", groups: undefined]
null
(2) ["value="92"", "92", index: 19, input: "<input type="text" value="92">", groups: undefined]
null
2번째 방식의 console.log() 결과
(2) ["value="12"", "12", index: 19, input: "<input type="text" value="12">", groups: undefined]
(2) ["value="22"", "22", index: 19, input: "<input type="text" value="22">", groups: undefined]
(2) ["value="32"", "32", index: 19, input: "<input type="text" value="32">", groups: undefined]
(2) ["value="42"", "42", index: 19, input: "<input type="text" value="42">", groups: undefined]
(2) ["value="52"", "52", index: 19, input: "<input type="text" value="52">", groups: undefined]
(2) ["value="62"", "62", index: 19, input: "<input type="text" value="62">", groups: undefined]
(2) ["value="72"", "72", index: 19, input: "<input type="text" value="72">", groups: undefined]
(2) ["value="82"", "82", index: 19, input: "<input type="text" value="82">", groups: undefined]
(2) ["value="92"", "92", index: 19, input: "<input type="text" value="92">", groups: undefined]
(2) ["value="102"", "102", index: 19, input: "<input type="text" value="102">", groups: undefined]
정확한 이유는 모르겠으나, $.each와 정규식을 함께 쓸 때, 한번 정의된 정규식을 계속 쓰면, 결과 값에서 null이 나오게 되고, 쓸 때마다 정의 해서 쓰게 되면, 결과가 잘 도출 된다.