JQuery 클래스 이름별로 모든 요소 가져오기
javscript와 jquery를 배우는 과정에서, 구글의 페이지들을 살펴보았지만 이것을 작동시킬 수 없는 것 같습니다.기본적으로 저는 수업의 내부 html을 수집하려고 하는데, jquery는 일반 자바스크립트보다 제안된 것 같습니다.글을 쓰다
지금까지의 암호는 다음과 같습니다.
<div class="mbox">Block One</div>
<div class="mbox">Block Two</div>
<div class="mbox">Block Three</div>
<div class="mbox">Block Four</div>
<script>
var mvar = $('.mbox').html();
document.write(mvar);
</script>
이 경우 문서 아래에 첫 번째 클래스만 표시됩니다.글을 쓰시오. 원블럭 투블럭 쓰리처럼 어떻게 다 보여줄 수 있나요?이것으로 저의 궁극적인 목표는 그들이 블락 원, 블락 투, 블락 쓰리, 블락 포처럼 분리된 쉼표를 보여주는 것입니다.감사합니다, 관련된 질문들이 많이 나오지만 이렇게 간단한 것은 없는 것 같습니다.
한 가지 가능한 방법은 방법을 사용하는 것입니다.
var all = $(".mbox").map(function() {
return this.innerHTML;
}).get();
console.log(all.join());
데모: http://jsfiddle.net/Y4bHh/
N.B. 사용하지 마십시오.document.write
. 시험용console.log
최선의 방법입니다.
이미 게시된 솔루션만큼 깨끗하지 않거나 효율적이지 않을 수도 있지만 .ach() 함수는 어떻습니까? 예:
var mvar = "";
$(".mbox").each(function() {
console.log($(this).html());
mvar += $(this).html();
});
console.log(mvar);
질문의 코드를 사용하면 해당 선택기에서 반환된 네 개의 항목 중 첫 번째 항목과 직접적인 상호 작용만 하게 됩니다.
아래의 fiddle 코드: https://jsfiddle.net/c4nhpqgb/
해당 셀렉터와 일치하는 항목이 4개이므로 각각 명시적으로 처리해야 한다는 점을 분명히 말씀드리고 싶습니다.사용.eq()
이 점을 지적하는 것은 다음을 사용하는 답변보다 조금 더 명확합니다.map
,그래도map
아니면each
당신이 "실생활에서" 사용할 수 있는 것(여기에 대한 jquery documents)입니다.
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
</head>
<body>
<div class="mbox">Block One</div>
<div class="mbox">Block Two</div>
<div class="mbox">Block Three</div>
<div class="mbox">Block Four</div>
<div id="outige"></div>
<script>
// using the $ prefix to use the "jQuery wrapped var" convention
var i, $mvar = $('.mbox');
// convenience method to display unprocessed html on the same page
function logit( string )
{
var text = document.createTextNode( string );
$('#outige').append(text);
$('#outige').append("<br>");
}
logit($mvar.length);
for (i=0; i<$mvar.length; i++) {
logit($mvar.eq(i).html());
}
</script>
</body>
</html>
출력처logit
호출(초기 4 이후)div
의 디스플레이):
4
Block One
Block Two
Block Three
Block Four
대체 솔루션(createElement를 고유한 요소로 대체할 수 있음)
var mvar = $('.mbox').wrapAll(document.createElement('div')).closest('div').text();
console.log(mvar);
입력 값을 얻으려면 다음과 같은 작업을 수행할 수 있습니다.
var allvendorsList = $('.vendors').map(function () {
return this.value;
}).get();
언급URL : https://stackoverflow.com/questions/16630211/jquery-get-all-elements-by-class-name
'programing' 카테고리의 다른 글
Oracle 정점에서 한 페이지를 다른 페이지에 연결 (0) | 2023.10.27 |
---|---|
MySQL 저장 프로시저 권한 (0) | 2023.10.27 |
ASP.NET 코어, 권한 없는 경우 기본 리디렉션 변경 (0) | 2023.10.27 |
git gui'를 실행할 때 "Loose Object" 팝업을 건너뛰는 방법 (0) | 2023.10.27 |
배열에서 사전 증분 대 사후 증분 (0) | 2023.10.27 |