如何使用jQuery或Javascript选择字符?
如何使用Javascript或jQuery在HTML元素中选择字符 例如,我想选择第一个或第二个或第三个“]”carchter 在如何使用jQuery或Javascript选择字符?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,如何使用Javascript或jQuery在HTML元素中选择字符 例如,我想选择第一个或第二个或第三个“]”carchter 在 <p> Lorem Ipsum is simply dummy [text] of [the] printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, </p> Lorem
<p> Lorem Ipsum is simply dummy [text] of [the] printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, </p>
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
当我写例如console.log(character1)时,它会给出我所写段落中的第一个]
字符的顺序对我来说很重要,因为我想用其他内容更改第一个']尝试使用
String.prototype.replace()
,增加一个计数器以选择第二个“a”,任何情况下都可以
var index = null;
var arr = $("p").text().replace(/a/ig, function (m, i) {
++index;
return index === 2 ? "QQQ" : m
});
$("p").text(arr);
我知道您需要使用javascript操作HTML中的特定元素
var x = document.getElementsByTagName("p");
这将为您提供标记为“p”的所有节点的列表,您可以通过指定其索引来选择您的节点
y = x[*tag index*]
然后你可以做:
firstIndex = y.innerHTML.indexOf("A");
或者,如果你想得到字母的第二个(或第三个)索引,你只需要把开始点放在indexof开始查找的地方,因此假设我们想得到第二个索引“A”,并且我们已经从上面代码行中得到了第一个索引,我们可以做:
secondIndex = y.innerHTML.indexOf("A", firstIndex);
你可以这样做
function getIndicesOf(searchStr, str, caseSensitive) {
var startIndex = 0, searchStrLen = searchStr.length;
var index, indices = [];
if (!caseSensitive) {
str = str.toLowerCase();
searchStr = searchStr.toLowerCase();
}
while ((index = str.indexOf(searchStr, startIndex)) > -1) {
indices.push(index);
startIndex = index + searchStrLen;
}
return indices;
}
function replaceCharacter(text ,char, withChar, index) {
var indices = getIndicesOf(text, char, true);
return (text.substr(0, indices[index-1]) + 'withChar' + s.substr(indices[index-1]+withChar.length));
}
var text = 'Aekwwewj fkjkwefhwA wkejqwkjeqkwjeA A ewqeqw';
text = replaceCharacter(text, 'A', 'W', 2);
选择方式,“A”是“A”,不管它是不是第一个、第二个还是第三个等等?它会找到A并打印A,这就是你想要的吗?字符的顺序对我来说很重要,因为我想用其他东西更改第一个“A”,我认为他想要检索给定子字符串和相关索引的所有出现,如果是这样的话,看看这个,你意识到你的代码是错误的吗?您还提供了一个提琴:)@elio.d“您是否意识到您的代码是错误的?您还提供了一个提琴:)”可以指示哪部分是“错误的”?stacksnippets当前似乎不起作用?您提供的第一个解决方案无法解决查找子字符串索引的问题。match将返回所有匹配项@guest271314它工作得很好,但是当我在jsfiddle.net中将“A”替换为“[”它不工作,所以你能有任何解决方案:)@soufinedouimia“它工作得很好,但是当我将“A”替换为“[”它不工作,所以你能有任何解决方案”时,你能给我一个在线示例:)吗