2010-12-15 56 views
1

Salut j'ai 3 questions, si vous avez par exemple ce site simplequestion concernant le javascript, génération Html et recherche page Web en cours pour les balises

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

Question 1)

Si je par exemple décider cliquer sur le lien numéro 2 (www.hello2.com), Est-ce que cela est stocké dans une sorte de variable?

Je sais que ce stocke l'URL en cours, mais pas celui que vous cliquez sur

window.location.href; 

Question 2) Comment rechercher votre document, dites que je voudrais rechercher le site et stocker tous les liens dans un tableau javascript comme celui-ci

var myArray = []; 

searchThisWebSiteForURLS()//Do this function that I don't know to write that search this htmlsite for url's 

var myArray = [ 'http://www.hello1.com', 'http://www.hello2.com'];//This is the reslt after that the function has been executed 

question 3) Je voudrais écrire OU t ces liens. Dire que j'ai une autre table comme celui-ci

<html> <head> </head> <body> <table> 
    <tr> <td><a 
    href="X">X</a></td> 
    </tr> <tr> <td><a 
    href="Y"></a>Y</td> 
    </tr> </table> </html> 

Where X = http://www.hello1.com 
And Y = http://www.hello2.com 

Bien sûr, il y a autant de lignes que les éléments du tableau comme celui-ci

<html> <head> </head> <body> <table> 
    <tr> <td><a href="X">X</a></td></tr> 
    <tr> <td><a href="Y"></a>Y</td></tr> 
    <tr> <td><a href="Z">Z</a></td></tr> 
    <tr> <td><a href="A">A</a></td></tr> 
    <tr> <td><a href="B">B</a></td></tr> 
    </table> </html> 

Où Z, A, B sont les éléments 3, 4,5 dans le tableau

var myArray = [ 'http://www.hello1.com', 'http://www.hello2.com','http://www.hello3.com','http://www.hello4.com','http://www.hello5.com']; 

EDIT! ----------------------------------- ---------------------------------------

Wow vraiment merci, à vous tous, vraiment merci! J'ai une autre question concernant les liens, lorsque l'on compare deux liens, dire que le tableau se présente comme suit

var pageLinks = ['http://www.example.at', 'http://www.example2.at', 'http://www.someothersite.at']; 

Et dire que l'utilisateur a appuyé sur l'exemple « http://www.example.at » lien , alors je veux créer la table contenant les liens similaires. Donc, je fais quelque chose comme ça

function checkForSimilarLink(theLinkToCompareWith){// in this case theLinkToCompareWith = "http://www.example.at" 
    var numLinks = pageLinks.length; 

    for(var i = 0; i < numLinks; i++) { 
     //Check if numLinks[i]== theLinkToCompareWith* 
    } 
} 

Alors, comment écrire cette fonction de comparaison? Dans ce cas, nous pouvons considérer

"http://www.example.at" et "http://www.example1.at" le "même" tandis que "http://www.someothersite.at" obviosly ne sont pas

Merci encore :)

+1

vous ne voudriez pas stocker des URL dans des tableaux dans JS, c'est mauvais pour le référencement. Il y a des plugins jQuery qui feront la recherche de page pour vous. – Jakub

+0

Le fait est que ce n'est pas un problème, ce site ne sera pas sur le web, il sera sur un réseau local et il ne servira que de "page de redirection". Cette page ne sera utilisée que si quelqu'un clique sur un lien. Mais merci quand même :) – David

Répondre

0

Go étude JQuery !!!! XDD Le meilleur pour le développement web.

pour la première et la deuxième question avec jquery:

var anchors = $('a'); //returns all <a></a> elements from here you can get the url from all of theam 

Avec jquery u peut écrire tout élément que vous voulez.

var table = $('<table></table>'); 
var tr = $('<tr></tr>').appendTo(table); 
var td = $('<td></td>').setText('your link here')appendTo(tr); 

. . .

tableau.appendTo (L'élément parent pour ajouter la table);

2

Je ne comprenais pas la question 1, mais voici quelque chose pour la question 2 et 3:

Question 2:

var pageLinks = []; 
var anchors = document.getElementsByTagName('a'); 
var numAnchors = anchors.length; 
for(var i = 0; i < numAnchors; i++) { 
    pageLinks.push(anchors[i].href); 
} 
//now pageLinks holds all your URLs 

Question 3:

// say pageLinks holds your desired URLs 
var pageLinks = ['http://www.example.at', 'http://www.example2.at', 'http://www.example3.at']; 

// create an empty table 
var table  = document.createElement('table'); 

// ... and it's tbody 
var tbody  = document.createElement('tbody'); 

// loop through your URLs 
var numLinks = pageLinks.length; 
for(var i = 0; i < numLinks; i++) { 

    // create new table row... 
    var tr = document.createElement('tr'); 

    // a cell... 
    var td = document.createElement('td'); 

    // and your anchor... 
    var a = document.createElement('a'); 

    // set the anchor's href 
    a.setAttribute('href', pageLinks[i]); 
    // set the anchor's text, it's also the URL in this example 
    a.innerHTML = pageLinks[i]; 

    // append the anchor to the table cell 
    td.appendChild(a); 

    // ... and that cell to the new row 
    tr.appendChild(td); 

    // ... and that row to the tbody, right? ;-) 
    tbody.appendChild(tr); 
} 

// after all rows were added to the tbody, 
// append tbody to the table 
table.appendChild(tbody); 

// and finally append this table to any existing 
// element in your document, e.g. the body: 
document.body.appendChild(table); 

// ...or add it to a div for example: 
//document.getElementById('anyDiv').appendChild(table); 
0

Question 1: Vous pouvez capturer l'événement onclick en cliquant sur le lien et pendant ce magasin, les informations que vous souhaitez obtenir une variable de votre choix (cependant, ceci ne serait pertinent que si vous incluiez return false dans l'événement onclick car le lien amènerait l'utilisateur à une nouvelle page et mettrait fin à votre session).

Alex a très bien répondu aux questions 2 et 3.