【问题标题】:Change all links at once一次更改所有链接
【发布时间】:2016-01-14 04:34:10
【问题描述】:

有什么方法可以一次更改选项标签下的所有链接?
例如:

<select size="1" name="links" onchange="window.location.href=this.value;">
<option value=" http://website.com/1001/">Blue</option>
</select><br>

 <select size="1" name="links" onchange="window.location.href=this.value;">
<option value=" http://website.com/2001/">Red</option>
</select><br>

<select size="1" name="links" onchange="window.location.href=this.value;">
<option value=" http://website.com/3001/">Green</option>
</select>

....等等大约 100 个链接。
现在我想将链接 website.com 更改为 m.website.com 进一步链接保持不变。像 m.website.com/1001 , m.website.com/1002

【问题讨论】:

  • 参加活动还是什么?
  • 使用选择器 - $('option')$.each().val*()

标签: javascript php jquery html


【解决方案1】:

试试这个:

$(function(){ 
  $('select[name="links"] option').each(function(){
   var val=$(this).val();
   val=val.replace('http://','http://m.');
   $(this).val(val);
  });
});

Demo

【讨论】:

    【解决方案2】:

    最简单的方法是查找所有http://website.com/ 实例并将其替换为http://m.website.com/

    如果您不想替换某些实例,您可以使用正则表达式来匹配文本。类似的东西

    查找

    (<option value=" http:\/\/)(website)(\.com\/\d+\/">.*?<\/option>)
    

    替换为

    $1m.website$3
    

    【讨论】:

      【解决方案3】:

      试试这个:

      $(document).ready(function () {
        $('select[name="links"] option').each(function () {
          var val = $(this).val();
          val = val.replace('website.com', 'm.website.com');
          $(this).val(val);
        });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-26
        • 1970-01-01
        • 2011-12-07
        • 2012-10-28
        • 1970-01-01
        • 1970-01-01
        • 2012-11-17
        • 2016-08-27
        相关资源
        最近更新 更多