我有一个链接可以打开包含信息的页面。我需要获取该信息并将其显示在另一页的一部分上。我有一个链接使用令牌来获取适当的链接,因为每个页面都不同。示例链接如下所示:
<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);
}
});
感谢任何帮助!
答案 0 :(得分: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>