Pergunta
Devo usar jQuery pela primeira vez ....
<a class="Tag Resource" href="http://localhost/"
resource="http://localres/" property="prop">test</a>
Eu tentei extrair o texto usando var = $('a').find('Tag Resource').text();
e var = $('a').find('Tag Resource').html();
mas ele não funciona. Eu preciso "teste" como texto simples.
Alguém pode me dizer como fazer isso?
Agradecemos antecipadamente
Solução
Eu acho que você está procurando:
var t = $("a.Tag.Resource").text();
o que significa um tags que têm ambos as classes Tag
e Resource
. O método find () é para pesquisar sub-árvores de elementos.
Outras dicas
Aqui está ( ao vivo demonstração ):
$(document).ready(
function (){
alert( $('a.Tag.Resource').html() );
});
Seu problema é ou o que você queria uma classe, mas usou um espaço para que ele tornou-se dois; ou que quando se refere a classes com um seletor jQuery, você precisa prefixar-los com um ponto.
Em qualquer caso, o código acima vai ajudar. Se você realmente só queria uma classe, alterá-lo para $('a.Tag-Resource')...
Eu acho que o problema é a sintaxe da sua expressão achado.
Atualizar : Na verdade, você não quer encontrar em tudo, você quer filtro. Encontre só irá selecionar descendentes dos de elementos, em vez dos próprios elementos.
Eu testei a linha de exemplo abaixo.
A partir do exemplo aqui , parece que você quer
var text = $('a').filter('.Tag.Resource').text();
var text = "";
$("a").each(function(){
text += $(this).html() + " " + $(this).attr("resource");
});
alert(text);
Eu não acho que você pode ter nomes de classe com espaços. Você adicionou 2 classes "tag" e "recursos" para a uma marca e seu achado selectory não vai encontrar isso.
Lembre-se, nomes de classe pode ser repetida em uma página, e espaços indicam duas classes aplicados a um elemento. Você não está garantido que um único elemento terá que classe, para .text () pode devolver o texto combinado de todos os elementos combinados.
$(".Tag.Resource").text();
Bem, você não tem que usar 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);