Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery或Javascript选择字符?_Javascript_Jquery_Html_Dom - Fatal编程技术网

如何使用jQuery或Javascript选择字符?

如何使用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

如何使用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 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”替换为“[”它不工作,所以你能有任何解决方案”时,你能给我一个在线示例:)吗