第一次在这里发帖,看了几个可能的类似标题,仍然没有...... :(
尝试使用jQuery / javascript了解最新信息。好吧,我的问题是我想改变我的锚元素的href属性值,具体取决于doc宽度是否低于1022px。我已经能够成功提醒href值,但是我的注释ALERT(工作)我的href字符串没有更新...不知道为什么,任何帮助将不胜感激。
if(document.width < 1022)
{
var allLinks = $('.filtered_portfolio li a');
allLinks.each(function(){
var thisLink = $(this);
anchorLinkUrl = this
alert (anchorLinkUrl);
if( anchorLinkUrl.indexOf('[iframe]=true&lightbox[width]=800&lightbox[height]=540') != -1){
anchorLinkUrl.replace('[iframe]=true&lightbox[width]=800&lightbox[height]=540','donkey');
//alert('hi');
}
});
}
答案 0 :(得分:1)
为您的anchorLinkUrl
变量分配了DOM元素,而不仅仅是href值。要更新链接的href,请尝试此操作(未经测试):
if(document.width < 1022)
{
$('.filtered_portfolio li a').each(function(){
this.href = this.href.replace('[iframe]=true&lightbox[width]=800&lightbox[height]=540','donkey');
});
}
答案 1 :(得分:0)
Here是一个如何使用jQuery的.attr()
函数来获取/设置所选元素的属性的示例,希望这会有所帮助。
$('a').toggle(function(e) {
e.preventDefault();
// setting an attribute
$(this).attr('href', 'www.yahoo.com');
},function(e) {
e.preventDefault();
// setting an attribute
$(this).attr('href', 'www.google.com');
}).click(function(e) {
e.preventDefault();
// getting an attribute
$('#foo').text($(this).attr('href'));
});