다음과 같은 구조가 있습니다.
<ul>
<li>text1</li>
<li>text2</li>
<li>text3</li>
</ul>
javascript 또는 jQuery를 사용하여 텍스트를 배열로 가져 오려면 어떻게해야합니까?
['text1', 'text2', 'text3']
이 후 내 계획은 아마를 사용하여 문자열로 조립하고 다음 .join(', ')
과 같은 형식으로 가져 오는 것입니다.
'"text1", "text2", "text3"'
답변
var optionTexts = [];
$("ul li").each(function() { optionTexts.push($(this).text()) });
… 트릭을해야합니다. 찾고있는 최종 출력을 얻으려면 join()
몇 가지 연결이 잘 수행됩니다.
var quotedCSV = '"' + optionTexts.join('", "') + '"';
답변
답변
그리고 깨끗한 자바 스크립트에서 :
var texts = [], lis = document.getElementsByTagName("li");
for(var i=0, im=lis.length; im>i; i++)
texts.push(lis[i].firstChild.nodeValue);
alert(texts);
답변
킴 스틱은 가까웠지만 정답은 아니었다.
편리한 한 줄로 수행하는 방법은 다음과 같습니다.
$.map( $('li'), function (element) { return $(element).text() });
다음은 jQuery의지도 기능에 대한 전체 문서입니다. 매우 편리합니다. http://api.jquery.com/jQuery.map/
완전히 대답하기 위해 찾고 있던 전체 기능은 다음과 같습니다.
$.map( $('li'), function (element) { return $(element).text() }).join(', ');
답변
var arr = new Array();
$('li').each(function() {
arr.push(this.innerHTML);
})
답변
다음과 같이 할 수 있습니다. 코드 한 줄이면 충분합니다
let array = $('ul>li').toArray().map(item => $(item).html());
-
관심있는 요소 얻기
-
아이를 낳다
-
toArray () 메서드에서 배열 가져 오기
-
원하는 결과를 필터링
-
let array = $('ul>li').toArray().map(item => $(item).html());
console.log(array);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>text1</li>
<li>text2</li>
<li>text3</li>
</ul>