dポイントプレゼントキャンペーン実施中!

下記のhtmlの検索で正規表現が上手く出来ない。
^15とか、0046$での検索が出来ない。

何処がおかしいのだろうか。
尚、ここで<a href...のタグを外すと上手く出来ます。

済みません。指摘をお願いします。
<html>
<head>
<title>メニュー</title>
</head>
<body>
<script type="text/javascript">
function choice(){
var reg=new RegExp(document.getElementById("keyword").value);
var obj=document.getElementById("target").getElementsByTagName("li");
for(var i=0;i<obj.length;i++){
obj[i].className=(obj[i].innerHTML.match(reg))?"":"hide";
}
}
</script>
<style>
li.hide{display:none;}
</style>
<input type="text" name="keyword" id="keyword">
<input type="button" value="choice" onclick="choice()">
<ol id="target">
<li><a href="./150908-1504.html" target="contents">150908-1504</a></li>
<li><a href="./150908-1515.html" target="contents">150908-1515</a></li>
<li><a href="./150908-1518.html" target="contents">150908-1518</a></li>
<li><a href="./150908-1811.html" target="contents">150908-1811</a></li>
<li><a href="./150908-2004.html" target="contents">150908-2004</a></li>
<li><a href="./150909-0105.html" target="contents">150909-0105</a></li>
<li><a href="./150909-0652.html" target="contents">150909-0652</a></li>
<li><a href="./150909-0925.html" target="contents">150909-0925</a></li>
<li><a href="./150909-1011.html" target="contents">150909-1011</a></li>
<li><a href="./150909-1121.html" target="contents">150909-1121</a></li>
<li><a href="./150909-1232.html" target="contents">150909-1232</a></li>
<li><a href="./150909-1423.html" target="contents">150909-1423</a></li>
<li><a href="./150910-0046.html" target="contents">150910-0046</a></li>
</ol>

</BODY>
</HTML>

A 回答 (1件)

検索したいのは <li> 要素の中身全体ではなく、中身のテキスト部分のみなので、


match の対象を
LI要素.innerHTML ではなく
LI要素.textContent にしましょう

参考:
https://developer.mozilla.org/ja/docs/Web/API/No …
    • good
    • 0
この回答へのお礼

有難う御座いました。

助かりました。

お礼日時:2017/12/04 17:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!