如何使用jquery从url中删除查询字符串参数?

时间:2017-11-07 15:26:35

标签: jquery iframe

我正在尝试遍历几个iframe以获取iframe的src并从这些iframe的src中删除特定的查询字符串。这就是我到目前为止所做的:

$(document).ready(function() {
   $('iframe').each(function() {
      var $src = $(this).attr('src').substring(0, $(this).attr('src').indexOf('&id'));
      alert($src);
   });
});
iframe {
  width: 300px height:300px;
  background: #fafafa;
  margin: 20px auto;
  display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe src="mysite.com/program.asp?name=abc&status=3&id=2"></iframe>
<iframe src="mysite.com/program.asp?id=2"></iframe>

iframe的第一个网址正确显示,但第二个iframe的第二个网址没有显示。

预期产出:

first iframe - mysite.com/program.asp?name=abc&status=3
second iframe - mysite.com/program.asp?

1 个答案:

答案 0 :(得分:0)

更新11/7/2017 1:12 PM

我能够回答我自己的问题并弄清楚,但感谢您的帮助和评论。这是我之前提到的预期输出。谢谢大家。

$(document).ready(function() {
   $('iframe').each(function() {
      if($(this).attr('src').indexOf('&id') > -1){
        var $src = $(this).attr('src').substring(0, $(this).attr('src').indexOf('&id'));
      }else{
        var $src = $(this).attr('src').substring(0, $(this).attr('src').indexOf('id'));
      }
      alert($src);
   });
});

&#13;
&#13;
$(document).ready(function() {
   $('iframe').each(function() {
      if($(this).attr('src').indexOf('&id') > -1){
        var $src = $(this).attr('src').substring(0, $(this).attr('src').indexOf('&id'));
      }else{
        var $src = $(this).attr('src').substring(0, $(this).attr('src').indexOf('id'));
      }
      alert($src);
   });
});
&#13;
iframe {
  width: 300px height:300px;
  background: #fafafa;
  margin: 20px auto;
  display: block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe src="mysite.com/program.asp?name=abc&status=3&id=2"></iframe>
<iframe src="mysite.com/program.asp?id=2"></iframe>
&#13;
&#13;
&#13;