如何从下拉菜单中更改href属性

jQuery How To Change the href attribute from a drop down menu?

本文关键字:href 属性 下拉菜单      更新时间:2023-09-26

我想做一个下拉菜单,改变一个按钮的href属性。我是jQuery的新手,我一直在复制和粘贴代码,但不了解它是如何工作的。

这是我的pastebin:http://pastebin.com/53es3gLi

完整版本:http://pastebin.com/trieK16d

是否有办法改变#btnLink的href值基于下拉菜单的结果?当我使用

$("#btnLink").attr("href", $('#Link');

它将我的链接替换为[Object %20% Object],但是如果我将$('# link ')替换为一个链接,它可以工作,但它是一个固定的链接。它独立于下拉菜单。

也可以有人帮助解释代码中的jquery位,我想知道如何使用它以及为什么使用它。提前感谢

您正在设置jQuery对象,而不是Link字段的值。

$("#btnLink").attr("href", $('#Link').val());

尝试$("#btnLink").attr("href", $('#Link').val());

哦,我错过了你问题的最后一部分:

  • $("#btnLink")相当于说"ID为#btnlink的每个DOM元素"。这是我们在jQuery中选择内容的方式。
  • .attr("href"表示我们之前选择的元素的属性"href"
  • $('#Link').val()指的是另一组DOM元素:"所有带有#link ID的元素"。在你的例子中,它指的是一个输入字段。
  • .val()返回所述输入字段中的值。

$('#Link')返回jQuery对象,并且您将值设置为强制为字符串的jQuery对象,因此值[Object %20% Object]。要将文本框的值设置为href属性,请在Link元素

上使用val()
$("#btnLink").attr("href", $('#Link').val());
//                                    ^^^^^^

$('#Link')返回一个jQuery对象,这就是为什么你得到字符串"[object %20% object]"作为href属性中的值设置。如果你想设置一个链接的href与另一个链接的href,你可以尝试

$("#btnLink").attr("href", $('#Link').attr('href'));