我能够得到的文本结果我怎么能把他们推入arrays
我能够获得所有的联系电话号码,但结果是以文本格式( 9632427326
)。
如何将它们存储到array
如["9632427326","8045318762"]
。 我的意思是类似推。
我的DOM是:
<span style="font-weight:bold;" class="number"> <span id="mob0">0 </span>8045318762 <script type="text/javascript"> whichVer('ver0'); </script> </span> <span style="font-weight:bold;" class="number"> <span id="mob1">1 </span>9632427326 <script type="text/javascript"> whichVer('ver1'); </script> </span> **I am using something like this:**
它只返回文本我想要数组(类似于推)。
alert($('.number').contents().filter(function() { return this.nodeType == 3; }).text());
请帮助,提前谢谢。
你可以使用map()
和get()
并返回数组数组。
var data = $('.number').contents().map(function() { if (this.nodeType == 3 && this.textContent.trim() != '') return Number(this.textContent); }).get(); console.log(data)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <span style="font-weight:bold;" class="number"> <span id="mob0">0 </span>8045318762 </span> <span style="font-weight:bold;" class="number"> <span id="mob1">1 </span>9632427326 </span>
你可以使用正则expression式来过滤掉手机没有文字。 喜欢这个 :
function getMobArr(){ var arr=[]; $.each($(".number"),function(index,value){ //filter text with regex for mobile 10 digit no. var match=$(value).text().match(/([\d]{10})/i); arr.push(match[1]); }) return arr; }
输出:
[“8045318762”,“9632427326”]