2010-11-30 6 views
0

Bonjour, j'ai une question concernant html et javascript.besoin d'aide avec les tableaux et les liens en javascript

dire que je clique sur un lien sur un site html dire

<tr> 
<td><a href="www.hello1.com">www.hello1.com</a></td> 
</tr> 

je veux aussi voir s'il y a un autre lien connexe sur ce site avec un nom étroit, par exemple

<tr> 
<td><a href="www.hello2.com">www.hello2.com</a></td> 
</tr> 

Donc, ce que je veux faire est de construire une méthode javascript que chaque fois que vous cliquez sur un lien vous exécutez cette méthode et vérifiez quel lien a été pressé, puis également rechercher un lien similaire sur le site html très simple, le site ne comprend que o f une table contenant des liens, il n'y aura donc pas beaucoup de recherche).

Comment cela est-il fait?

Je ne ai besoin de la méthode, je sais comment exécuter la méthode chaque fois que vous appuyez sur un lien :)

Merci à l'avance :)

Modifier Avec « similaire » je veux dire quelque chose comme ça

'\\b'+theUrlToGoTo+'\\b' 

En d'autres termes, la seule chose qui va changer est un numéro après le nom, par exemple

hello1 et hello2

Edit 2

Merci à nemophrost Je sais maintenant comment faire le premier. J'ai maintenant une deuxième question, avant que je ne le fasse, c'est à propos de générer du code html avec javascript. dire maintenant que j'ai un tableau après avoir exécuter le fonc everyClickFunc() qui comprend

var myArray = [ 'www.hello1.com', 'www.hello2.com', 'www.hello3.com']; 

Je voudrais maintenant générer une simple page html comme celui-ci

<html> 
<head> 
</head> 
<body> 
<table> 
<tr> 
<td><a href="www.hello1.com">www.hello1.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello2.com">www.hello2.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello3.com">www.hello3.com</a></td> 
</tr> 

</table> 
</html> 

Et ce fichier est de être écrasé chaque fois que je clique sur un lien. Les liens seront donc différents selon les liens sur lesquels je clique, sur le site d'origine.

En d'autres termes, je veux quelque chose comme ça

<html> 
<head> 
</head> 
<body> 
<table> 
<tr> 
<td><a href="www.testing1.com">www.testing1.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello1.com">www.hello1.com</a></td> 
</tr> 
<tr> 
<td><a href="www.testing2.com">www.testing2.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello2.com">www.hello2.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello3.com">www.hello3.com</a></td> 
</tr> 
<tr> 
<td><a href="www.difrent1.com">www.diffrent1.com</a></td> 
</tr> 
<tr> 
<td><a href="www.difrent2.com">www.diffrent2.com</a></td> 
</tr> 
</table> 
</html> 

Pour générer un nouveau site html qui contient les informations suivantes si vous cliquez sur l'un des plus haut « bonjour » Liens

<html> 
<head> 
</head> 
<body> 
<table> 
<tr> 
<td><a href="www.hello1.com">www.hello1.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello2.com">www.hello2.com</a></td> 
</tr> 
<tr> 
<td><a href="www.hello3.com">www.hello3.com</a></td> 
</tr> 

</table> 
</html> 

Comment est-ce le plus facile à résoudre?

Encore une fois vous remercie beaucoup d'avance :)

+2

Qu'est-ce qu'un « nom étroit »? Comment déterminez-vous la "similarité" des liens? – Oded

+0

considérez-vous "super.com" et "superman.com" similaires? que diriez-vous "mother.com", "autre.net "et" another.org "? – stillstanding

+0

Ceci n'est pas lié, mais le lien' href's doit inclure le 'http: //'. –

Répondre

0

Avec jQuery, vous pouvez faire quelque chose comme ceci:

function everyClickFunc(urlToMatch) { // pass in something like 'www.hello1.com' 
    var baseURLMatch = urlToMatch.match(/^www\.(.+\D)\d*\.com$/); 

    if (baseURLMatch && baseURLMatch.length > 1) { 
     var matchExp = new RegExp('^www\\.' + baseURLMatch[1] + '\\d*\\.com$'); 

     $('a').each(function() { 
      if ($(this).attr('href').match(matchExp)) { 
       doSomethingBecauseYouGotAMatch(); // Call your successful match function 
      } 
     }); 
    } 
} 
Questions connexes