嗨,我有3个问题,如果你有这个简单的网站
<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>
问题1)
如果我决定点击链接号2(www.hello2.com),这是否存储在某种变量中?
我知道这是存储当前网址而不是您点击的网址
window.location.href;
问题2) 你如何搜索你的文件,说我想搜索这个网站并将所有链接存储在这样的javascript数组中
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
问题3) 我想写出这些链接。假设我有另一张这样的表
<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
当然,它应该与数组中的元素一样多,如此
<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>
其中Z,A,B是数组中的元素3,4,5
var myArray = [ 'http://www.hello1.com', 'http://www.hello2.com','http://www.hello3.com','http://www.hello4.com','http://www.hello5.com'];
EDIT!--------------------------------------------- -----------------------------
哇,非常感谢,大家,非常感谢!我还有一个关于链接的问题,比较两个链接时,说数组看起来像这样var pageLinks = ['http://www.example.at', 'http://www.example2.at', 'http://www.someothersite.at'];
并说用户已按下示例“http://www.example.at”链接,然后我想创建包含类似链接的表。所以我做这样的事情
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*
}
}
那你怎么写这个比较函数?在这种情况下,我们可以考虑
“http://www.example.at”和“http://www.example1.at”“相同”,而“http://www.someothersite.at”显然不是
再次感谢:)
答案 0 :(得分:2)
我不明白问题1,但这里有问题2和问题3:
问题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
问题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);
答案 1 :(得分:0)
去学习JQuery !!!! XDD最适合Web开发。
使用jquery的第一个和第二个问题:
var anchors = $('a'); //returns all <a></a> elements from here you can get the url from all of theam
使用jquery你可以写任何你想要的元素。
var table = $('<table></table>');
var tr = $('<tr></tr>').appendTo(table);
var td = $('<td></td>').setText('your link here')appendTo(tr);
。 。
table.appendTo(添加表的父元素);
答案 2 :(得分:0)
问题1:
您可以捕获onclick事件以点击链接,并在该商店中捕获您想要选择的变量的任何信息(但是,如果您在onclick事件中包含return false
,这只会相关,因为否则链接会将用户带到新页面并结束会话。
问题2和3得到了Alex的很好的回答。