【问题标题】:Grab the end text of url from href从 href 中获取 url 的结尾文本
【发布时间】:2017-06-22 23:59:24
【问题描述】:

我有一个链接可以打开一个包含信息的页面。我需要获取该信息并将其显示在另一个页面的一部分上。我有一个使用令牌来获取适当链接的链接,因为每个页面都不同。示例链接如下所示:

<a id="ItemDetail_SpecPageLink" style="display: none;" class="ItemDetailLocAvail" href="/customer/wetosu/specpages/FactoryStock.aspx?item=65048"></a>

链接中唯一要更改的部分是item= 之后的所有内容。我开始编写我所知道的代码,但我不知道如何在代码中编写“获取item= 之后的所有内容”并将其设置为 var。我在这里找不到像我这样的问题,因为每个人都试图找到相同的特定链接文本,而我的,我需要抓住 item= 之后的任何内容。

我正在使用此编码来获取信息,并且我知道我的 var factoryLink 获取了整个链接,但这是我坚持的部分,我不想让它一无所有:

//GET FACTORY AVAILABILITY
var factoryLink = $('#ItemDetail_SpecPageLink').attr('href');

$.ajax({
    url: ('/customer/wetosu/specpages/FactoryStock.aspx?item=' + factoryLink),
    type: 'GET',
    success: function (data) {
        $('#FactoryAvailability').html(data);
    }
});

感谢任何帮助!

【问题讨论】:

标签: javascript jquery


【解决方案1】:

你可以使用正则表达式:

item=(.+)$

正则表达式分解:

  • item=你要匹配的第一部分
  • ( 开头capture group
  • .+ 表示无限次匹配任何东西
  • )抓包结束
  • $字符串结尾

The result of String.prototype.match is an array,第一个参数是整个匹配,第二个参数在第一个捕获组中。

希望这会有所帮助。

var factoryLink = $('#ItemDetail_SpecPageLink').attr('href');

var yourId = factoryLink.match(/item=(.+)$/)[1];

console.log({yourId});

// do what you want with it
// $.ajax({
//   url: ('/customer/wetosu/specpages/FactoryStock.aspx?item=' + yourId),
//   type: 'GET',
//   success: function(data) {
//     $('#FactoryAvailability').html(data);
//   }
// });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <a id="ItemDetail_SpecPageLink" class="ItemDetailLocAvail" href="/customer/wetosu/specpages/FactoryStock.aspx?item=65048">Some link</a>

Read more about javascript's regex on MDN.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-07
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    相关资源
    最近更新 更多