JS

2016-09-18 9 views
-3
でするpreg_match

HTMLコードJS

<li class="btn-xs"><a tabindex="-1" 
    href="/admin/orders/restart/id/163148" 
    >Restart</a></li> 
    <li class="btn-xs" style="display:none;"><a tabindex="-1" href="" data- 
    toggle="modal" data-target="#check_alls_163148_s" 
    style="cursor:pointer;">Set&nbsp;start&nbsp;count</a></li> 
    <li class="btn-xs"><a tabindex="-1" 
    href="/admin/orders/restart/id/162616">Restart</a></li> 
    <li class="btn-xs" style="display:none;"><a tabindex="-1" href="" data- 
    toggle="modal" data-target="#check_alls_162616_s" 
    style="cursor:pointer;">Set&nbsp;start&nbsp;count</a></li> 

どのように私はJSで/admin/orders/restart/id/163148/admin/orders/restart/id/162616を抽出することができますか?私はそれを配列に入れる必要があります。

私はpreg_matchでうまくいきません。私は抽出することができますどのように/管理/受注/再起動/ ID/163148および/管理/受注/再起動/ ID/162616は、追加綿毛で、JS

+0

JavaScriptの[preg \ _match]の複製がありますか?(http://stackoverflow.com/questions/3291289/preg-match-in-javascript) – mdziekon

+0

他の質問には1つしかありません私の例では、配列のように最初と2番目を返す必要があります – PaulE

+0

このhtmlを文字列として使用しているのですか、またはブラウザ環境にいますか? –

答えて

1
Array.prototype.slice.call(document.querySelectorAll('li.btn-xs a')) 
       .map(a => a.getAttribute("href")) 
       .filter(href => href && href.length > 0) 

を使用するか:

function selectByNonBlank() { 
 
    return Array.prototype.slice.call(document.querySelectorAll('li.btn-xs a')).map(a => a.getAttribute("href")).filter(a => a && a.length > 0); 
 
} 
 

 
function selectByRestart() { 
 
    return Array.prototype.slice.call(document.querySelectorAll('li.btn-xs a')).filter(a => a.innerHTML == "Restart").map(a => a.getAttribute("href")); 
 
} 
 

 
function init() { 
 
    document.getElementById("restart").addEventListener("click", function() { console.log(selectByRestart()); }); 
 
document.getElementById("href").addEventListener("click", function() { console.log(selectByNonBlank()); }); 
 
} 
 

 
document.addEventListener("DOMContentLoaded", init, false);
<li class="btn-xs"><a tabindex="-1" href="/admin/orders/restart/id/163148" >Restart</a></li> 
 
<li class="btn-xs" style="display:none;"><a tabindex="-1" href="" data-toggle="modal" data-target="#check_alls_163148_s" style="cursor:pointer;">Set&nbsp;start&nbsp;count</a></li> 
 
<li class="btn-xs"><a tabindex="-1" href="/admin/orders/restart/id/162616" >Restart</a></li> 
 
       <li class="btn-xs" style="display:none;"><a tabindex="-1" href="" data-toggle="modal" data-target="#check_alls_162616_s" style="cursor:pointer;">Set&nbsp;start&nbsp;count</a></li> 
 
<button id="restart">Select by Restart</button> 
 
<button id="href">Select by non blank href</button>

+0

私は、 "Restart"の後にhrefを抽出する必要があります PaulE

+0

@PaulEこの要件は問題ではありませんが、ハンドル – Tibrogargan

+0

@PaulEそれを(ふわふわしたバージョン) – Tibrogargan