2015-04-06 83 views
-4

我有以下的HTML审议...JQuery .attr();

<ul class="foo"> 
    <li class="bar"><a>Here #1</a></li> 
    <li class="bar"><a href="#2">Here #2</a></li> 
    <li class="bar"><a href="#3">Here #3</a></li> 
    <li class="bar"><a href="#4">Here #4</a></li> 
</ul> 

的问题是,我有没有在第一个列表项标记一个href锚标记。我想使用JQuery将href添加到标签。我试图做这样的(没有工作):

var fooBar; 

fooBar = $('li.bar').children().first(); 
fooBar.attr('a', 'href="#1"'); 

我想,也许我需要在索引中通过,但我想通了。首先()会抓住正确的元素。无论哪种方式我的代码不能做我想做的。

我会非常感谢任何方向和/或输入。

+3

** [。attr()Doc Link](https://api.jquery.com/attr/)** – 2015-04-06 02:53:42

+0

真的吗?这不是一个答案,它是我已经使用的明显资源,正如您可以通过语法看到的那样。无耻的方式得到回应。 – user2654953 2015-04-06 03:28:10

+0

我只是引导你到正确的语法,而不是给你答案,以便你会学习。没有其他的。如果您将指定您使用的资源,我不会评论。 :) – 2015-04-06 03:57:10

回答

2

问题是此行

fooBar.attr('a', 'href="#1"); 

做得一样波纹管

fooBar.attr('href', '#1'); 
+0

自从他们都工作以后,我提出了所有的答案。但是,你指出我的错误在哪里以及如何从中学习是最好的答案。谢谢。 – user2654953 2015-04-06 03:22:51

1

下面是设置属性值的正确方法:

fooBar.attr('href', "#1"); 
1

您可以使用这样

$('li.bar').children('a').first().attr('href', '#1'); 
0
var add_attr = $('.foo > li:first-child'); 

$(add_attr).find("a").attr('href','#');