gpt4 book ai didi

jquery - 将字符串添加到使用 jquery 动态生成的属性中

转载 作者:行者123 更新时间:2023-12-01 05:43:52 24 4
gpt4 key购买 nike

我需要根据屏幕尺寸将字符串添加到动态生成的 href 的特定部分。这就是我得到的

 $(document).ready(function () {
var strSC;
$("[href*='sc=']").each(function () {
strSC = $(this).attr("href");
if ($(window).width() < 767) {
$(this).attr("href", strSC + "m");
} else if ($(window).width() <= 992) {
$(this).attr("href", strSC + "t");
} else {
$(this).attr("href", strSC + "c");
}
});
});

我想将“m”、“t”和“c”放在asp.net中动态生成的“sc=”查询字符串的末尾。例如,如果窗口的宽度小于 767,我希望将 href 更改为 href="www.mysite.com/index.asp?t=undefined&sc=1234567m&f=32

问题是我不知道 sc 到底等于什么。如果其中任何一个有意义的话

最佳答案

匹配&sc=任意数字的正则表达式应该可以工作

$(document).ready(function () {
$("[href*='sc=']").attr('href', function(_, href) {
var w = $(window).width();
var char = w < 767 ? 'm' : (w <= 992 ? 't' : 'c');

return href.replace(/(\&sc\=\d+)/, '$1'+char)
});
});

jQuery 的 attr 直接接受回调,因此您不必使用 each,它无论如何都会在内部进行迭代。

在回调内部,第一个参数是索引,我们不需要它,显示它的常见方法是使用 _,属性的当前值是第二个参数,在上面的函数中命名为 href (实际上可以命名为任何名称)。

然后我们获取窗口宽度,并在三元中使用它,这只是一个奇特的 if/else。

最后,我们使用正则表达式来查找字符串 &sc= 后跟任意数量的数字,我们捕获该字符串并将其作为 $1 传递给替换项并添加我们通过检查窗口宽度等获得的字符,然后将其返回到 jQuery 的 attr 并为每个元素设置它

关于jquery - 将字符串添加到使用 jquery 动态生成的属性中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28773794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com