我尝试制作一个更改按钮的href属性的下拉菜单。 我是jQuery的新手,我一直在复制和粘贴代码而不了解它是如何工作的。
这是我的pastebin: http://pastebin.com/53es3gLi
这里的完整版: http://pastebin.com/trieK16d
有没有办法根据下拉菜单的结果更改#btnLink的href值?当我使用
$("#btnLink").attr("href", $('#Link');
它用[对象%20%对象]替换我的链接,但是如果我用链接替换$('#Link'),它可以工作,但它是一个固定链接。它独立于下拉菜单。
也有人可以帮助解释代码中的jquery位,我想知道如何使用它以及为什么使用它。提前致谢
答案 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'));