我必须第一次使用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();
提取文字,但它不起作用。我需要“测试”作为纯文本。
有人可以告诉我该怎么做吗?
提前致谢
答案 0 :(得分:7)
我认为你在寻找:
var t = $("a.Tag.Resource").text();
表示标记 Tag
和Resource
类。 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);