如何使用jQuery或Javascript选择字符

How to select character with jQuery or Javascript?

本文关键字:选择 字符 Javascript 何使用 jQuery      更新时间:2023-09-26

如何使用Javascript或jQuery在HTML元素中选择字符

例如,我想选择第一个或第二个或第三个"]"字符in <p>

<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>

当我写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);
http://jsfiddle.net/srLh93xt/4/

我知道你需要使用javascript在HTML中操作某个元素

var x = document.getElementsByTagName("p");

这将为您提供所有标记为"p"的节点的列表,您可以通过指定其索引

来选择您的节点
y = x[*tag index*]

那么你可以这样做:

firstIndex = y.innerHTML.indexOf("A");

或者如果你想获得字母的第二个(或第三个)索引,你只需要把起始点放在索引开始查找的地方,所以假设我们想要获得"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);

小提琴