将字符串添加到使用 jquery 动态生成的属性
Adding string to an attribute that is generated dynamically with jquery
我需要根据屏幕尺寸将字符串添加到动态生成的 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 中动态生成的 "sc=" 查询字符串的末尾。因此,例如,如果 window 的宽度小于 767,我希望 href 更改为 href="www.mysite.com/index.asp?t=undefined&sc=1234567m&f=32
问题是我不知道 sc 到底等于什么。如果其中任何一个有意义
匹配 &sc= any number
的正则表达式应该可以工作
$(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+)/, ''+char)
});
});
jQuery的attr
直接接受回调,所以你不必使用each
,反正它在内部迭代。
在回调中,第一个参数是索引,我们不需要它,常用的方法是使用 _
,属性的当前值是第二个参数,在上面的函数中命名为 href
(实际上可以命名为任何东西)。
然后我们得到window宽度,并在三元中使用它,这只是一个花哨的if/else。
最后我们使用一个正则表达式来查找字符串 &sc=
后跟任意数量的数字,我们捕获它并将其作为 </code> 传递给替换并添加我们从中获得的字符检查 window 宽度等,并将其 return 设置为 jQuery 的 <code>attr
并为每个元素设置
我需要根据屏幕尺寸将字符串添加到动态生成的 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 中动态生成的 "sc=" 查询字符串的末尾。因此,例如,如果 window 的宽度小于 767,我希望 href 更改为 href="www.mysite.com/index.asp?t=undefined&sc=1234567m&f=32
问题是我不知道 sc 到底等于什么。如果其中任何一个有意义
匹配 &sc= any number
的正则表达式应该可以工作
$(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+)/, ''+char)
});
});
jQuery的attr
直接接受回调,所以你不必使用each
,反正它在内部迭代。
在回调中,第一个参数是索引,我们不需要它,常用的方法是使用 _
,属性的当前值是第二个参数,在上面的函数中命名为 href
(实际上可以命名为任何东西)。
然后我们得到window宽度,并在三元中使用它,这只是一个花哨的if/else。
最后我们使用一个正则表达式来查找字符串 &sc=
后跟任意数量的数字,我们捕获它并将其作为 </code> 传递给替换并添加我们从中获得的字符检查 window 宽度等,并将其 return 设置为 jQuery 的 <code>attr
并为每个元素设置