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

时间:2015-09-29 14:31:36

标签: javascript jquery html

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

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

这里的完整版: http://pastebin.com/trieK16d

有没有办法根据下拉菜单的结果更改#btnLink的href值?当我使用

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

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

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

4 个答案:

答案 0 :(得分:2)

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

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

  • $("#btnLink")与说"每个ID为"#btnlink"的DOM元素相同。这就是我们如何在jQuery中选择内容。
  • .attr("href"表示属性" href"我们之前选择的元素。
  • $('#Link').val()指的是另一组DOM元素:"具有#link ID的所有内容。在您的情况下,它指的是输入字段。
  • .val()返回所述输入字段中的值。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:-2)

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

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