๊ฐœ๋ฐœ๊ด€๋ จ/javascript&jquery

[html/css/javascript/jquery] ์…€๋ ‰ํ„ฐ(Selector) ํ™œ์šฉ๋ฒ•!

๐Ÿป๊ณฐ์ด๐Ÿป 2020. 11. 25.
728x90

์•ˆ๋…•ํ•˜์„ธ์š”! ๊ฐœ๋ฐœ์‰ฝ๊ฒŒํ•˜์ž๊ณฐ ์ž…๋‹ˆ๋‹ค.

 

์˜ค๋Š˜์€ ์…€๋ ‰ํ„ฐ์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ์•Œ์•„๋ณผ๊นŒ ํ•ด์š” ใ…Žใ…Ž

 

 

์ €๋„ html ํŽ˜์ด์ง€ ๊ฐœ๋ฐœํ• ๋–„ ๊ฑฐ์˜ ์…€๋ ‰ํ„ฐ๋ฅผ ์“ด๋‹ค๊ณ ํ•ด๋„ ๊ณผ์–ธ์ด ์•„๋‹์ •๋„๋กœ ์‹ค๋ฌด์—์„œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ๊ณ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์…€๋ ‰ํ„ฐ๋ž€? ๋ง๊ทธ๋Œ€๋กœ ์„ ํƒ์ž ์—ญํ• ์„ ํ•˜๋Š”๋ฐ์š”.

์šฐ๋ฆฌ๊ฐ€ ํ‰์†Œ์— ์ž์ฃผ๋ณผ์ˆ˜์žˆ๋Š”๊ฑธ๋กœ ์˜ˆ์‹œ๋ฅผ ๋“ค์ž๋ฉด

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="Generator" content="EditPlus®">
	<meta name="Author" content="">
	<meta name="Keywords" content="">
	<meta name="Description" content="">
	<title>easy-developmentbear</title>
	<!-- ์ œ์ด์ฟผ๋ฆฌ -->
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script>
	$(function(){
		var aa = document.getElementById('abc').value;
		console.log(aa);
	});
	</script>
</head>

<body>
	<input type="text" name="abc" id="abc" value="aaaa">
</body>
</html>

 

 

๊ฒฐ๊ณผ ๊ฐ’

 

 

์šฐ๋ฆฌ๊ฐ€ ํ‰์†Œ์— ํ”ํžˆ๋ณผ์ˆ˜์žˆ๋Š” document.getelementByid('์•„์ด๋””๋ช…').value ๊ฐ™์€๊ฒฝ์šฐ ๋˜๋Š” Byname ์ด๋ ‡๊ฒŒ ์ž์ฃผ ์ ‘ํ• ์ˆ˜์žˆ๋Š”๋ฐ.

 

์…€๋ ‰ํ„ฐ๋ฅผ ์“ฐ๋ฉด ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ณ  ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์•„์˜ค๊ธฐ๊ฐ€ ์ˆ˜์›”ํ•˜๋‹ค๋ž„๊นŒ???

 

์…€๋ ‰ํ„ฐ๋ฅผ ํ™œ์šฏํ•ด์„œ input์˜ value๊ฐ’์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="Generator" content="EditPlus®">
	<meta name="Author" content="">
	<meta name="Keywords" content="">
	<meta name="Description" content="">
	<title>easy-developmentbear</title>
	<!-- ์ œ์ด์ฟผ๋ฆฌ -->
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script>
	$(function(){
		var aa = $("#abc").val();
		console.log(aa);
	});
	</script>
</head>

<body>
	<input type="text" name="abc" id="abc" value="aaaa">
</body>
</html>

์…€๋ ‰ํ„ฐ๋ฅผ ์ผ๊ตฌ์š”. ํ›จ์‹  ๊ฐ„๊ฒฐํ•ด์กŒ์ฃ ??

 

๊ฒฐ๊ณผ์ถœ๋ ฅ

 

๊ฒฐ๊ณผ ๊ฐ’์€ ๋˜‘๊ฐ™์•„์š”. ๋ณด๋‹ค ๊ฐ„๊ฒฐํ•˜๊ฒŒ DOM์•ˆ์—์„œ ํ•ด๋‹นํ•˜๋Š” ํƒœ๊ทธ ๊ฐ’์ด๋‚˜ ์†์„ฑ์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์ฃผ๊ฑฐ๋‚˜ ํ• ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค.

 

์…€๋ ‰ํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋Š˜์€ ์ œ๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์…€๋ ‰ํ„ฐ๋“ค๋กœ ์„ค๋ช…๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

$("#id๊ฐ’")

$(".class๊ฐ’")

$("input[name='name๊ฐ’']")

 

์˜ˆ์‹œ)

<input type="text" name="a" id="b" class="c" value="aaaa">

์ด๋ผ๋Š” ํƒœ๊ทธ์˜ value๊ฐ’์„ ์•Œ์•„์˜ฌ๋•Œ.

 

$("#b")

$(".c")

$("input[name='a']")

 

๋ผ๊ณ  ์“ธ์ˆ˜์žˆ์Šต๋‹ˆ๋‹ค.

 

#์€ ํ•ด๋‹นํ•˜๋Š” ์•„์ด๋””๋ฅผ ๊ฐ€์ง€๊ณ ์˜ฌ๋•Œ ์‚ฌ์šฉํ•˜๊ตฌ์š”

 

.๋Š” ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

[name='']์€ name๊ฐ’์œผ๋กœ ๊ฐ€์ ธ์˜ฌ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

<span name="aaa">tttt</span>์˜ text๊ฐ’์„ ์•Œ์•„์˜ฌ๋ ค๊ณ  ํ•˜๋ฉด

 

$("span[name='aaa']").text();

 

์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด text๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ €๋Š” ์ด์ค‘์—์„œ๋„ ์•„์ด๋””๊ฐ’์ด๋ž‘ ํด๋ž˜์Šค๊ฐ’์œผ๋กœ ์„ ํƒ์ž๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

์„ ํƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ต์…˜์„ ์ค„์ˆ˜๋„์žˆ๋Š”๋ฐ์š”.

 

addClass() ํ•ด๋‹นํ•˜๋Š” ์„ ํƒ์ž์˜ ํด๋ž˜์Šค๋ฅผ ์ž…ํžŒ๋‹ค

removeClass() ํ•ด๋‹นํ•˜๋Š” ์„ ํƒ์ž์˜ ํด๋ž˜์Šค๋ฅผ ์ง€์šด๋‹ค

text() ํ•ด๋‹นํ•˜๋Š” ์„ ํƒ์ž์˜ ํ…์ŠคํŠธ๊ฐ’์„ ๊ฐ€์ง€๊ณ ์˜จ๋‹ค

val() ํ•ด๋‹นํ•˜๋Š” ์„ ํƒ์ž์˜ ๋ฒจ๋ฅ˜๊ฐ’์„ ๊ฐ€์ง€๊ณ ์˜จ๋‹ค.

 

val()๊ฐ™์€๊ฒฝ์šฐ value๊ฐ’์ด ๋“ค์–ด๊ฐˆ์ˆ˜์žˆ๋Š” inputํƒœ๊ทธ์— ์จ์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

<span name="aaa" value="๋‚˜ ์ŠคํŒฌ">๋‚˜ ์ŠคํŒฌ</span>

<input type="text" id="bbb" value="๋‚˜์ธํ’‹">

 

์—ฌ๊ธฐ์„œ span์˜ value๊ฐ’์ด ์ง€์ •์ด ๋˜์–ด์žˆ์œผ๋‹ˆ๊นŒ ๊ฐ€์ง€๊ณ  ์˜ฌ ์ˆ˜ ์žˆ์„๊นŒ์š”?

 

console.log($("span[name='aaa']").val()); ์‚ฌ์šฉํ•˜์—ฌ ์ถœ๋ ฅ์„ ํ•˜๋ฉด ๋นˆ๊ฐ’์œผ๋กœ ๋‚˜์˜ต๋‹ˆ๋‹ค.

input์—๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ผ๊ณ  ์•Œ๊ณ ๊ณ„์‹œ๋ฉด ์ข‹์„๊ฒƒ๊ฐ™์•„์š”.

 

์…€๋ ‰ํ„ฐ๋ฅผ ํ™œ์šฉํ•ด์„œ ์†์„ฑ์„ ์ฃผ๊ณ  ์ถœ๋ ฅ์„ ํ•ด๋ณผ๊ฒŒ์š”.

 

์†์„ฑ์€ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ผ๊ณ  ํ•˜์ฃ ?? ์…€๋ ‰ํ„ฐ๋ฅผ ์‚ฌ์šฉํ• ๋• attr() ์ด๋ผ๊ณ  ์”๋‹ˆ๋‹ค.

 

input ์„ ํƒ์ž์˜ onclick ์ด๋ฒคํŠธ๋ฅผ ์ฃผ๊ณ ์‹ถ๋‹ค.

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="Generator" content="EditPlus®">
	<meta name="Author" content="">
	<meta name="Keywords" content="">
	<meta name="Description" content="">
	<title>easy-developmentbear</title>
	<!-- ์ œ์ด์ฟผ๋ฆฌ -->
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script>
	$(function(){
		$("#abc").attr("onclick", "get_msg(); return false;");
	});

	function get_msg()
	{
		alert("inputํƒ€์ž… ์ถœ๋ ฅ~");
	}
	</script>
</head>

<body>
	<input type="text" id="abc">
</body>
</html>

 

์ด๋ ‡๊ฒŒ onclick์„ input ํƒœ๊ทธ์— ๋”ฐ๋กœ ์„ ์–ธ์•ˆํ•ด์ฃผ์–ด๋„ ์…€๋ ‰ํ„ฐ๋กœ attr()ํ•ด์„œ ์ค„์ˆ˜์žˆ์–ด์š”.

 

ํด๋ฆญํ•˜๋ฉด

 

๋ผ๊ณ  alert ์ฐฝ์ด ๋œจ๋„ค์š” ใ…Žใ…Ž

 

์ด๋Ÿฐ์‹์œผ๋กœ ์†์„ฑ๊ฐ’์„ ๋ฐ”๊พธ๋Š”๊ฒƒ๋„ ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ต๋‹ˆ๋‹ค.

 

name๊ฐ’ id๊ฐ’ class๊ฐ’ ๋ฐ”๊ฟ€์ˆ˜์žˆ์–ด์š”

 

$("์„ ํƒ์ž").attr("๋ฐ”๊ฟ€์†์„ฑ", "๋ฐ”๊ฟ€name๊ฐ’");

 

๋˜ ์Šคํƒ€์ผ๋„ ์ค„์ˆ˜์žˆ๋‹ต๋‹ˆ๋‹ค.

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="Generator" content="EditPlus®">
	<meta name="Author" content="">
	<meta name="Keywords" content="">
	<meta name="Description" content="">
	<title>easy-developmentbear</title>
	<!-- ์ œ์ด์ฟผ๋ฆฌ -->
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script>
	$(function(){
		$("#abc").css("color", "red");
	});
	</script>
</head>

<body>
	<span id="abc">์ธํ’‹์ด์–‘</span>
</body>
</html>

 

์ด๋ ‡๊ฒŒ ํ•ด์ฃผ์‹œ๋ฉด ํฐํŠธ์ƒ‰์ƒ๋„ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค ใ…Žใ…Ž 

 

์ด๋ ‡๊ฒŒ style๋„ ์ค„์ˆ˜๊ฐ€ ์žˆ์œผ๋‹ˆ ์—ฌ๋Ÿฌ๋ชจ๋กœ ํ™œ์šฉํ•˜์‹œ๋ฉด ์ข‹์„๊ฒƒ๊ฐ™๋„ค์š”.

 

์…€๋ ‰ํ„ฐ ์ต์ˆ™ํ•ด์ง€๋ฉด ๋งŽ์ด ํŽธํ•˜๋‹ˆ ๊ฐœ๋ฐœํ•˜์‹ค๋•Œ ์ตํ˜€๋‘์‹œ๋ฉด ์ถฉ๋ถ„ํžˆ ๋„์›€ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•˜์‹ ์ ์€ ์–ธ์ œ๋“  ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€