我对网页设计很陌生,但几个月来我一直在努力学习一些基本知识来处理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)");
});
这项工作正常,但我所调用的标题是与其他域名相关的文章,因此它们无法在我的网站中使用。
我试图在load方法的第二部分中指定一个函数,但是我找不到将其他站点的域添加到我已加载的href属性的方法。我只是指定了一个网址或删除了加载的网址,如
$(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属性并附加到文章域。所以我想知道是否有办法实现它,或者我的任务方法是否完全错误。
提前致谢
答案 0 :(得分: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应以/
开头,否则您必须将其添加到前置网址的末尾
答案 1 :(得分:0)
$(function () {
$('a.something').click(function (e) {
e.preventDefault();
});