0

我对网页设计很陌生,但几个月以来我一直在努力学习一些基本知识来使用 html、css、JavaScript 等。我已经关注并尝试理解在 w3cschool 和其他介绍网站上找到的所有基本教程,在 html 中的结构和使用 css 的样式方面没有特别的问题,但现在我面对的是 JavaScript,这是问题所在,但让我先解释一下我想要达到的目标。

在我试图设想的网站上,我创建了一个侧面板,其中必须包含一些标题和简短描述,这些文章取自另一个站点,具有另一个域。由于我非常糟糕的经验和在网上找到的信息,我认为 jQuery 可以帮助我完成这项任务,尤其是它的 load() 方法。因此,在以 .txt 格式保存标题所在的源页面的副本后,我在文档的头部编写了一个非常简单的代码:

$(document).ready(function() {
    $("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)");
    $("#myDiv2 p").load("copyOfSite.txt .list a:eq(1)");
    $("#myDiv3 p").load("copyOfSite.txt .list a:eq(2)");
});

这工作正常,除了我调用的标题是指向另一个域的文章的相对链接,所以它们在我的网站中不起作用。

我试图在加载方法的第二部分中指定一个函数,但我找不到将其他站点的域添加到我已加载的 href 属性的方法。我只实现了指定一个 url 或使用类似的东西删除加载的 url

$(document).ready(function() {
    $("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)",function(data){
        $(this).find("[href]").attr('href','http://www.articlesdomain.com')}
    )};

或者

$(document).ready(function() {
    $("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)",function(data){
        $(this).find("[href]").removeAttr('href')}
    )};

但在这两种情况下,我都无法调用已加载标题的 href 属性并附加到文章域。所以我想知道是否有办法实现它,或者我的任务方法是否完全错误。

提前致谢

4

2 回答 2

0

您需要将协议和主机名添加到已经存在的相对 href 中,现在您正在用新的 url 替换整个 href。
使用一个函数来获取每个href,然后将主机名添加到已经存在的内容中:

$("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)",function(data){
    $(this).find("[href]").attr('href', function(_,href) {
        return 'http://www.articlesdomain.com' + href;
    });
)};

请注意,相对 href 应以 开头/,否则您还必须将其添加到前置 url 的末尾

于 2013-08-02T10:34:28.963 回答
0
 $(function () {
    $('a.something').click(function (e) {
        e.preventDefault();
    });
于 2013-08-02T10:35:32.803 回答