前提
jQueryで特定のクラス名から特定の文字列を削除する以下のようなプログラムを作っています。
↓
function word_assassin(target,word){
if(target.length){
target.each(function(){
var txt = $(this).html();
$(this).html(
txt.replace(word,'')//unicode escape sequence
);
});
}
}
word_assassin($('.number'),'1');
実現したいこと
- 複数の文字列(連続した数字)を削除する
上記の関数を呼び出せば数字を一つずつ消すことは可能ですが全部消すには引数に1~0までの10回分入れて10回呼び出さないといけません。、forやeachメソッドなどを使って引数をiなどの変数にして一度の関数呼び出しで数字全て消すことは可能でしょうか?
該当のソースコード
index.html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 8 9 <title>Document</title> 10</head> 11<body> 12 <div class="number"> 13 <p>1</p> 14 <p>2</p> 15 <p>3</p> 16 <p>4</p> 17 <p>5</p> 18 <p>6</p> 19 <p>7</p> 20 <p>8</p> 21 <p>9</p> 22 <p>10</p> 23 </div> 24</body> 25<script> 26 function word_assassin(target,word){ 27 28if(target.length){ 29 30 target.each(function(){ 31 32 var txt = $(this).html(); 33 34 $(this).html( 35 36 txt.replace(word,'')//unicode escape sequence 37 38 ); 39 40 }); 41 42} 43 44} 45 46 47 48word_assassin($('.number'),'1'); 49</script> 50</html>
試したこと
index.html
1<script> 2 function word_assassin(target,word){ 3 4if(target.length){ 5 6 target.each(function(){ 7 8 var txt = $(this).html(); 9 10 $(this).html( 11 12 txt.replace(word,'')//unicode escape sequence 13 14 ); 15 16 }); 17 18} 19 20} 21 22for (let i = 0; i < 11; i++) { 23 24 word_assassin($('.number'),'[i]'); 25} 26 27 28</script>
補足情報
for (let i = 0; i < 11; i++) {
word_assassin($('.number'),'[i]');
}
などのようにし、関数をループ処理で囲んでもうまくいきません。皆様のお知恵をお貸しください。
回答3件
あなたの回答
tips
プレビュー