0

我想要做的是遍历特定 ID 中的列表,并用预定义的术语列表替换每个术语,即

  • 首页 > 荷马
  • 戴夫 > 大卫
  • 检查 > 将死

我必须实现的代码如下

    $(document).ready(function(){
        $("#SomeID li").find(".menu-item-text").each(function(){
        var text = $(this).text();
        text = text.replace("Home", "Homer");
        text = text.replace("Dave", "David");
        text = text.replace("Check", "Check Mate");
        $(this).text(text);
      });
    });

我假设这可以通过将我所有的可替换术语排列在一个数组中然后搜索一次文本来完成,当它碰到它们时替换它们。但是,尽我所能尝试,这根本没有发生,以上是我可以让它工作的唯一方法,它看起来就是错误的。

编辑 - 值得注意的是,我有大约 40 个单词要替换,因此它需要高效。

4

1 回答 1

1

当你刚开始时,我不会太担心效率。首先学习语言,然后学习编写高效的代码。这是一个替代解决方案:

$(function(){
    var initialWords = ["Home", "Dave", "Check"];
    var replacementWords = ["Homer", "David", "Check Mate"];

    $("#SomeID li").each(function(){
        var listItem = $(this);
        var wordIndex = initialWords.indexOf(listItem.text());

        if(wordIndex > -1) {
            listItem.text(replacementWords[wordIndex]);
        }
    });
});
于 2013-07-15T22:58:38.800 回答