Javascript 更改href属性
需要更改此href的一部分:Javascript 更改href属性,javascript,jquery,Javascript,Jquery,需要更改此href的一部分: <a href="media/xxxxx-yyy.jpg">large pic</a> 我有一些设计和一些颜色,xxxxx代表designnumber,yyy代表colornumber,单击其中一个设计或href应该使用的颜色时 根据值进行更改: <a href="#">design1</a> <a href="#">design2</a> <a href="#">design
<a href="media/xxxxx-yyy.jpg">large pic</a>
我有一些设计和一些颜色,xxxxx代表designnumber,yyy代表colornumber,单击其中一个设计或href应该使用的颜色时
根据值进行更改:
<a href="#">design1</a>
<a href="#">design2</a>
<a href="#">design3</a>
<a href="#">color1</a>
<a href="#">color2</a>
<a href="#">color3</a>
使用JQuery有什么方法可以做到这一点吗?您的变量链接将是:
<a id="colorLink" href="media/xxxxx-yyy.jpg">large pic</a>
您可能希望向colorLink标记
onclick
事件添加一些验证,以检查designNumber和colorNumber是否具有有效值,如果没有,则取消事件并向用户发送消息,告知他们需要选择有效的设计和颜色。最好是创建一个Get Design按钮,禁用启动,并在UpdateActionLink中检查这些值是否有效,如果有效,则启用Get Design按钮。在链接中添加一个类,比如说myClass,在主链接上添加一个ID,比如说myLink,这样应该可以:
$('.myClass').each(function(el) {
el.bind('click', function(event) {
$('myLink')attr('href', el.text());
}
});
您可以使用attr方法读取和修改href html:
解析旧值不是防弹的。您可以通过创建两个变量来保存设计和颜色来避免这种情况。为了尽量减少DOM查询的数量,您可以将当前的颜色和设计存储在一个对象中
function DesignSwitcher() {
var params = $("#largePic").attr("id").split["-"],
des = params[0],
col = params[1];
$(".design").click(function() {
des = this.innerHTML;
$("#largePic").attr("href", "media/" + des + "-" + col + ".jpg");
});
$(".color").click(function() {
col = this.innerHTML;
$("#largePic").attr("href", "media/" + des + "-" + col + ".jpg");
});
}
new DesignSwitcher();
这些答案在哪里有用?
$('.myClass').each(function(el) {
el.bind('click', function(event) {
$('myLink')attr('href', el.text());
}
});
<a id="LargePic" href="media/xxxxx-yyy.jpg">large pic</a>
<a class="design" href="#">design1</a>
<a class="design" href="#">design2</a>
<a class="design" href="#">design3</a>
<a class="color" href="#">color1</a>
<a class="color" href="#">color2</a>
<a class="color" href="#">color3</a>
$(".design").click(function() {
var old = $("#LargePic").attr("href");
var pos = old.indexOf('-');
val color = old.substr(pos, 3);
$("#LargePic").attr("href", "media/" + $(this).text() + "-" + color + ".jpg");
});
function DesignSwitcher() {
var params = $("#largePic").attr("id").split["-"],
des = params[0],
col = params[1];
$(".design").click(function() {
des = this.innerHTML;
$("#largePic").attr("href", "media/" + des + "-" + col + ".jpg");
});
$(".color").click(function() {
col = this.innerHTML;
$("#largePic").attr("href", "media/" + des + "-" + col + ".jpg");
});
}
new DesignSwitcher();