javascript - 获取同一字符串的多个索引
问题描述
我有这个:
<div contenteditable='true' class="my_div"> mango banana jus mango <b>orange<b/></div>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;; ^1;;;;;;;;;;;;;;;;;;;;;;;;;;^18
我想获取每个mango的索引。
我试过了:
$('.my_div').keyup(function(){
let mots = $(".my_div").html().replace(/(<[^>]*>)|(&[^;]*;)/gi, ' ').split(' ');
mots = mots.filter( function(val){return val !== ''} );
var i;
for (i = 0; i < mots.length; ++i) {
if (mots[i] == "mango") {
var indexOf_ = $(".my_div").html().indexOf(mots[i]);
console.log(indexOf_);
}
}
});
但是该代码总是给我“1”作为“芒果”的索引。它应该给我 1 和 18 作为芒果的索引
我的错误在哪里?
谢谢。
解决方案
请尝试此代码 -
$('.my_div').keyup(function(){
var searchableString = $(".my_div").html();
var keyword = "mango";
var index = searchableString.indexOf(keyword);
while (index >=0){
console.log("Index : "+index);
index = searchableString.indexOf(keyword, index+keyword.length) ;
}
});
推荐阅读
- scala - Spark 无法将 String 转换为 TIMESTAMP
- javascript - 尝试使用 For 函数获取一些信息
- angular-cli - Angular CLI 构建 SourceMaps,但不部署它们
- swift - 添加为子视图的 UILabel 数量遇到限制
- c++ - 如何在不使图像变暗的情况下将 int16 Pixel 转换为 uint16 Pixel
- vaadin - 如何使用线程导航到另一个 vaadin 类 UI
- sql-server - 我收到“')' 附近的语法错误”
- javascript - JavaScript:在点击时生成范围内的随机数,并在每次点击时添加随机数
- python - 运行代码后路径终端回滚到 VSCode 上的上一个
- r - geom_col 呈现不可见的图