2013-11-26 117 views
0

我有一个元素的路径如下。jQuery - 按元素路径查找元素

html:eq(0)>body:eq(0)>div#header>div#blueAreaCommon>div#titledescription>div.title>a:eq(0) 

现在我需要更改该元素的文本。所以我做了如下。

$(document).find("html:eq(0)>body:eq(0)>div#header>div#blueAreaCommon>div#titledescription>div.title>a:eq(0)").html("Some text"); 

但它不起作用。有没有解决方法?

谢谢!

+0

,因为你有这么多的元素的ID为什么要这样 –

+0

它可以简单如'$('格# titledescription> div.title> a:eq(0)')。html(“Some text”);' –

+0

我会简单地做'$('#titledescription .title a:first-child')。text('some text ');' – Praveen

回答

2

你为什么要以这种复杂的方式做这件事。

由于ID是在HTML独特,可以针对为这样:

$("#titledescription > .title > a.eq(0)").html("Your Content"); 
+0

可能不一样....如果有多个“标题”或“a”元素 –

+0

您可能想要解释说id是唯一的,这就是为什么您可以这样做。您也可能想要添加'>'来模拟路径的直接子节点。还应该像原始路径一样添加'.eq(0)'。 – jfriend00

+0

@ jfriend00:你说得对。我会更新说明 –