programing

JQuery 클래스 이름별로 모든 요소 가져오기

telecom 2023. 10. 27. 21:44
반응형

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

반응형