如何在<a></a>之间提取文本

时间:2009-08-06 15:42:00

标签: jquery text tags extract

我必须第一次使用jQuery ....

<a class="Tag Resource" href="http://localhost/" 
resource="http://localres/" property="prop">test</a>

我尝试使用var = $('a').find('Tag Resource').text();var = $('a').find('Tag Resource').html();提取文字,但它不起作用。我需要“测试”作为纯文本。

有人可以告诉我该怎么做吗?

提前致谢

7 个答案:

答案 0 :(得分:7)

我认为你在寻找:

var t = $("a.Tag.Resource").text();

表示标记 TagResource类。 find()方法用于搜索元素的子树。

答案 1 :(得分:5)

你去(live demo):

$(document).ready(
  function (){ 
    alert(  $('a.Tag.Resource').html()  );  
});

你的问题要么你想要一个班级但是使用了一个空间,所以它变成了两个;或者在使用jquery选择器引用类时,需要在它们前面添加句点。

无论如何,上面的代码会有所帮助。如果您真的只想要一个课程,请将其更改为$('a.Tag-Resource')...

答案 2 :(得分:1)

我认为问题在于查找表达式的语法。

更新:事实上,您根本不需要查找,您需要过滤器。 Find只会选择元素的后代,而不是元素本身。

我测试了下面的示例行。

从示例here开始,看起来像是

var text = $('a').filter('.Tag.Resource').text();

答案 3 :(得分:0)

var text = "";
$("a").each(function(){
  text += $(this).html() + " " + $(this).attr("resource");
});
alert(text);

答案 4 :(得分:0)

我认为你不能拥有带空格的类名。 您已将2个“标记”和“资源”类添加到标记中,您的查找选择将无法找到。

答案 5 :(得分:0)

请记住,类名可以在页面上重复,空格表示应用于元素的两个类。您无法保证单个元素具有该类,因此.text()可能会返回所有匹配元素的组合文本

$(".Tag.Resource").text();

答案 6 :(得分:0)

好吧,你不必使用JQuery ......

var text, links = document.links;
for (var i = 0; i < links.length; i++) {
   if (links[i].className == 'Tag Resource') {
      text = links[i].innerText;
      break;
   }
}
alert(text);