Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiujhou

Pegar href de LINK com Jquery

Recommended Posts

Gostaria de saber, o que posso usar no Jquery para capturar os Href de uma pagina e substituir as URLs...

Ex: <a href="http://meusite.com/teste/index.php">Teste 1</a>

<a href="http://meusite.com/naoteste/index.php">Teste 1</a>

 

Eu pegaria todas as URL que possuem a palavra TESTE, e apenas essas eu modificaria... Inserindo o nome dominio do Meu site + a URL que estava...

 

http://minhaURL.com/index.php?c=http://meusite.com/teste/index.php

 

Alguem tem ideia de quais funçoes posso usar do jquery para fazer algo do tipo...??/ ateh ++

Compartilhar este post


Link para o post
Compartilhar em outros sites

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<a href="http://meusite.com/teste/index.php">Teste 1</a>
<a href="http://meusite.com/teste2/index.php">Teste 1</a>
<a href="http://meusite.com/teste3/index.php">Teste 1</a>
<a href="http://meusite.com/naoteste/index.php">Teste 1</a>

<script type="text/javascript">   
/* Configure aqui */ 
site = "meusite.com";
novosite = "http://minhaURL.com/index.php?c=";
palavra = "teste";
/* ------/-------*/ 

regex = new RegExp("http:\/\/(www\.)?"+site+"\/"+palavra+"","gi");
qtde_links = document.links.length;

for(i=0;i<qtde_links;i++){
	if(document.links.item(i).toString().match(regex)){
		document.links.item(i).setAttribute("href",novosite+document.links.item(i));
	}
}
</script>
</body>
</html>

 

Código pronto e funcionando.

Configure apenas onde está especificado.

 

Ps: Eu não quis usar jQuery, era desnecessário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Brigadaum por ajudar... Tipo irei dar uma estudada no JS e tentar adaptar para Jquery, to estudando array para entender o que você passou anterior a este...

 

Brigadaum .. Ateh ++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa entender arrays para ler esse código, ele não usa arrays (Não diretamente).

Mas por que você quer adaptar para o jQuery? Qual a diferença? O pessoal tem que parar com essa mania de querer fazer qualquer coisinha besta com jQuery. Ao meu ver, jQuery só deve ser usado para coisas mais complexas, e não qualquer besteira, pois só faz deixar o programa mais lento sem necessidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Brigadaum por ajudar... Tipo irei dar uma estudada no JS e tentar adaptar para Jquery, to estudando array para entender o que você passou anterior a este...

Cara, jQuery É Javascript... Qual a necessidade de utilizar um framework para algo tão simples?

É errado querer aprender jQuery antes de saber o básico de Javascript, você está pondo a carroça na frente dos bois...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como foi falado, jQuery é desenvolvido em Javascript, entretanto algumas coisas simples como isso que você pediu, trocar o HREF de determinados links, dá pra ser feito só com javascript. A vantagem? Não é preciso linkar a biblioteca jQuery, permitindo que a página carrega um pouco mais rápido.

 

Sobre aquele código anterior que eu passei onde eu usei um array, ele estava errado, desconsidere-o

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ex: <a href="http://meusite.com/teste/index.php">Teste 1</a>

<a href="http://meusite.com/naoteste/index.php">Teste 1</a>

hum... então o objetivo é trocar "teste" por "naoteste". Ok.

Challenge Acept

 

<html>
<head>
<script type="text/javascript"> 
window.onload = function(){
var as = document.getElementsByTagName('a');
for( var i=0; i<as.length; i++ )
{
	as[i].href = as[i].href.replace('/teste', '/naoteste');
}
};
</script>
</head>
<body>
<a href="http://meusite.com/teste/index.php">Teste 1</a>
<a href="http://meusite.com/teste2/index.php">Teste 2</a>
<a href="http://meusite.com/teste3/index.php">Teste 3</a>
<a href="http://meusite.com/naoteste/index.php">Teste 4</a>
</body>
</html>

 

HTML virtual gerado:

<a href="http://meusite.com/naoteste/index.php">Teste 1</a>
<a href="http://meusite.com/naoteste2/index.php">Teste 2</a>
<a href="http://meusite.com/naoteste3/index.php">Teste 3</a>
<a href="http://meusite.com/naoteste/index.php">Teste 4</a>

 

Com sintaxe jQuery ficaria:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script>
<script type="text/javascript"> 
jQuery(document).ready(function(){
   $('a').each(function(){
       var $this = $( this );
       var new_href = $this.attr('href').replace('/teste', '/naoteste');

       $this.attr('href', new_href);
   });   
});
</script>

Porém, não importe a lib, apenas para isso. Se você não tiver nenhum outro motivo para carregar o jQuery, use javascript puro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... então o objetivo é trocar "teste" por "naoteste". Ok.

Challenge Acept

 

Não não, na verdade é para identificar o link que tem "teste" no href e montar outro link com ele

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, valeu a dica @Lucas.

Demorei um pouco para entender o que ele queria:

 

<html>
<head>
<script type="text/javascript"> 
window.onload = function(){
var as = document.getElementsByTagName('a');
for( var i=0; i<as.length; i++ )
{
	if( strpos( as[i].href, '/teste' ) )
	{
		as[i].href = 'http://minhaURL.com/index.php?c='+as[i].href;
	}
}
};
function strpos (haystack, needle, offset) {
var i = (haystack+'').indexOf(needle, (offset || 0));
return i === -1 ? false : i;
}
</script>
</head>
<body>
       <a href="http://meusite.com/teste/index.php">Teste 1</a>
       <a href="http://meusite.com/teste2/index.php">Teste 2</a>
       <a href="http://meusite.com/teste3/index.php">Teste 3</a>
       <a href="http://meusite.com/naoteste/index.php">Teste 4</a>
</body>
</html>

 

HTML virtual gerado:

       <a href="http://minhaURL.com/index.php?c=http://meusite.com/teste/index.php">Teste 1</a>
       <a href="http://minhaURL.com/index.php?c=http://meusite.com/teste2/index.php">Teste 2</a>
       <a href="http://minhaURL.com/index.php?c=http://meusite.com/teste3/index.php">Teste 3</a>
       <a href="http://meusite.com/naoteste/index.php">Teste 4</a>

 

Ou seja, onde está o "naoteste", ele não mexe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.