使用jQuery在页面上全局更改文本

时间:2015-06-22 20:06:03

标签: javascript jquery

我正在尝试更改“#DisplayDownloadButtonxxxx”中的所有“下载”实例以显示“查看”(请参阅​​下面的HTML)。我不确定为什么下面的代码不会这样做。任何帮助将不胜感激。 :)


HTML:

<div class="productDownload" id="DisplayDownloadButton7476">
  <a href="http://www.website.com/7476">Download</a>
</div>


守则:

  jQuery(function () {
    var max = 10000,
    count = 1000,
    button = 'DisplayDownloadButton',
    docID;

    for (var i = count; i < max; i++)
    {     
      docID = button + i;

      jQuery('#' + docID).text (function (idx, oldText) {
        return oldText === 'Download' ? 'View' : oldText;
      });
    }
  });

2 个答案:

答案 0 :(得分:3)

你不需要循环,只需这样做

 $('div[id^="DisplayDownloadButton"] a').text(function (idx, oldText) {
   return $(this).text().trim() === 'Download' ? 'View' : oldText;
 });

请参阅此小提琴http://jsfiddle.net/vybawxj4/2/

修改

我已将a添加到选择器,这样就会更改a的文本,否则会替换删除链接的div内容让文本。

答案 1 :(得分:0)

看起来oldText正在获得一些空白区域试试这个

return oldText.indexOf('Download')>=0 ? 'View' : oldText;