Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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
Javascript 如何在jquery中用另一个文本多次替换一个文本?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何在jquery中用另一个文本多次替换一个文本?

Javascript 如何在jquery中用另一个文本多次替换一个文本?,javascript,jquery,html,Javascript,Jquery,Html,我想用另一个单词替换html中文本中的一个单词。为此,我使用jquery的replace方法。如果这个词只出现一次,它就可以正常工作。但是如果这个词多次出现,我如何替换它呢。这是我的html代码 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> &l

我想用另一个单词替换html中文本中的一个单词。为此,我使用jquery的replace方法。如果这个词只出现一次,它就可以正常工作。但是如果这个词多次出现,我如何替换它呢。这是我的html代码

 <!DOCTYPE html>
    <html>
      <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
      </head>

      <body>
        <div class="container-fluid" id="printableArea">
          <h1>Hello World!</h1>
          <p>Resize the browser window to see the effect.</p>
          <div class="row">
            <div class="col-sm-3 col-md-6" style="background-color:lavender;" id="datachange">
              <p>Lorem ipsum dolor sit amet, ${doller} adipisicing elit, sed do eiusmod tempor ${currency} ut labore et dolore magna aliqua.</p>
              <p> Ut enim ad minim veniam, quis ${doller} exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
            </div>
          </div>
          <div id="">
          <h1>Print me</h1>
    </div>
    <select id="myselect">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="opel">Opel</option>
      <option value="audi">Audi</option>
    </select>
    <select id="currency">
      <option value="doller">doller</option>
      <option value="euro">euro</option>
      <option value="rupees">rupees</option>
    </select>

        </div>

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
        <script>

    var value = "${doller}",
    value1 ="${currency}";

        function changedata() {

            $("#datachange").text(function () {
                return $(this).text().replace(value, $("#myselect option:selected" ).text() ); 
            });
            value = $("#myselect option:selected" ).text() ;
        }

        $( document ).ready(function() {
      changedata();
    });
    $('#myselect').on('change', function (e) {
      changedata();
    });
        </script>
      </body>
    </html> 
我正在使用changedata方法用下拉列表中的选定值替换${doller}。但它只替换了${doller}一次。jquery中的文本是否有任何替换所有类型的方法?

使用正则表达式

function changedata() {

        $("#datachange").text(function () {
            var re = new RegExp(value, 'g');
            return $(this).text().replace(re, $("#myselect option:selected" ).text() ); 
        });
        value = $("#myselect option:selected" ).text() ;
    }
如果RegExp.escape{ RegExp.escape=functionvalue{ 返回值.replace/[\-\[\]{}*+.,\\^$\124;\ s]/g\\$& }; } $document.readyfunction{ var text=$datachange.text, value1=${doller}, 值2=${currency}, reg1=新的RegExpRegExp.escapevalue1,'g', reg2=新的regexp.escapevalue2,'g'; 函数更改数据{ $datachange.textfunction{ 返回text.replacereg1,$myselect.val; }; } 变更数据; $'myselect'。在'change'上,函数E{ 变更数据; }; }; 你好,世界! 调整浏览器窗口的大小以查看效果

Lorem ipsum dolor sit amet,${doller}adipising elit,sed do eiusmod temporal${currency}ut laboure et dolore magna aliqua

但是,从最低限度上来说,我们的实验室是从一个普通消费者那里得到的

打印我 沃尔沃汽车 萨博 欧宝 奥迪 多勒 欧元 卢比 看看这个问题: