Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery从外部页面获取特定内容_Jquery_Jquery Ui_Jquery Selectors - Fatal编程技术网

jQuery从外部页面获取特定内容

jQuery从外部页面获取特定内容,jquery,jquery-ui,jquery-selectors,Jquery,Jquery Ui,Jquery Selectors,所以我有点像 <ul> <li> <a href="123.html">123</a></li> <li> <a href="abc.html">abc</a></li> </ul> 此网站位于my INDEX.HTML文件中。除了加载更多列表和列表项之外。链接到的每个HTML页面都有如下部分: <ul> <li><strong>

所以我有点像

<ul>
<li> <a href="123.html">123</a></li>
<li> <a href="abc.html">abc</a></li>
</ul>
此网站位于my INDEX.HTML文件中。除了加载更多列表和列表项之外。链接到的每个HTML页面都有如下部分:

<ul>
<li><strong>Time: </strong>12:00</li>
</ul>
$("li a").each(function() {
    var src = $(this).attr("href");
    $.get(src, function(data) {
      var element = $("<div>").html(data);
      var time = element.find("li").contents().last().text();
      $("li").append(" - " + time);
    });
});
  • 时间:12:00
我想要的是,当用户看到INDEX.HTML页面时,时间被添加到末尾(从相对链接),因此它看起来像

  • 123-12:00
  • ABC-13:00
有人能帮忙吗?我意识到我可能需要内容()和罚款(),但我没有迅速得到任何东西。因此,基本上对于每个链接,我们都会转到有问题的URL,抓取时间并将其添加到INDEX.HTML上的原始行中


谢谢。

如果我了解您的问题,我相信您希望加载每个内部页面的内容,以便在主菜单中显示信息。如果是这种情况,这对性能来说是个坏主意

如果您想这样做,首先需要使用函数加载HTML内容。然后处理结果,搜索所需的元素

更新

我更新了。它只有一个链接,但现在用代码结构显示它

基于此,我相信您的
index.html
代码如下:

<ul>
<li><strong>Time: </strong>12:00</li>
</ul>
$("li a").each(function() {
    var src = $(this).attr("href");
    $.get(src, function(data) {
      var element = $("<div>").html(data);
      var time = element.find("li").contents().last().text();
      $("li").append(" - " + time);
    });
});
$(“LIA”)。每个(函数(){
var src=$(this.attr(“href”);
$.get(src,函数(数据){
var元素=$(“”).html(数据);
var time=element.find(“li”).contents().last().text();
$(“li”)。追加(“-”+时间);
});
});

如果我了解您的问题,我相信您希望加载每个内部页面的内容,以便在主菜单中显示信息。如果是这种情况,这对性能来说是个坏主意

如果您想这样做,首先需要使用函数加载HTML内容。然后处理结果,搜索所需的元素

更新

我更新了。它只有一个链接,但现在用代码结构显示它

基于此,我相信您的
index.html
代码如下:

<ul>
<li><strong>Time: </strong>12:00</li>
</ul>
$("li a").each(function() {
    var src = $(this).attr("href");
    $.get(src, function(data) {
      var element = $("<div>").html(data);
      var time = element.find("li").contents().last().text();
      $("li").append(" - " + time);
    });
});
$(“LIA”)。每个(函数(){
var src=$(this.attr(“href”);
$.get(src,函数(数据){
var元素=$(“”).html(数据);
var time=element.find(“li”).contents().last().text();
$(“li”)。追加(“-”+时间);
});
});

想法可能如下:

  • 循环通过
    li
    s
  • 获取
    子项的
    href
    属性
  • 向该页面发送ajax请求
  • 解析响应并使用jQuery查找适当的文本
  • 将该文本附加到
    li
  • 在JSFIDLE上,生成单独的页面并不容易,因此您必须根据您的情况对其进行一些修改。此外,您可能希望使选择器更严格(
    ul-strong
    是我用您的示例所能弥补的最佳选择)

    $(“li”)。每个(函数(){
    var$li=$(本);
    var href=$li.find(“a”).attr(“href”);//在实际案例中使用此选项
    $.ajax({
    类型:“POST”,
    url:“/echo/html/”,//这正是在JSFIDLE上使用ajax的方法
    数据:{
    html:
    • 时间:12:00 }, 成功:函数(html){ //完整文档->仅li->其子节点->最后一个(文本节点)->其文本 var time=$(html.find(“li”).contents().last().text(); $li.追加(“-”+时间); } }); });
    想法可能如下:

  • 循环通过
    li
    s
  • 获取
    子项的
    href
    属性
  • 向该页面发送ajax请求
  • 解析响应并使用jQuery查找适当的文本
  • 将该文本附加到
    li
  • 在JSFIDLE上,生成单独的页面并不容易,因此您必须根据您的情况对其进行一些修改。此外,您可能希望使选择器更严格(
    ul-strong
    是我用您的示例所能弥补的最佳选择)

    $(“li”)。每个(函数(){
    var$li=$(本);
    var href=$li.find(“a”).attr(“href”);//在实际案例中使用此选项
    $.ajax({
    类型:“POST”,
    url:“/echo/html/”,//这正是在JSFIDLE上使用ajax的方法
    数据:{
    html:
    • 时间:12:00 }, 成功:函数(html){ //完整文档->仅li->其子节点->最后一个(文本节点)->其文本 var time=$(html.find(“li”).contents().last().text(); $li.追加(“-”+时间); } }); });
    请提供一些JavaScript代码,这样我们就可以看到您在说什么了!我看不到您试图从URL中获取任何内容。您是否正在尝试从URL获取参数?是否有原因您不能在服务器端执行此操作?已更新-必须在jQuery中执行。我和其他人一样喜欢jQuery,但我仍然认为在服务器端解决您的问题将为您节省大量时间,并且从您网站的外观来看,每个页面负载可以节省数百个ajax调用。请提供一些信息JavaScript代码,这样我们就可以看到你在说什么了!我看不到您试图从URL中获取任何内容。你想从URL获取参数吗?有没有理由你不能在服务器端这样做?更新-它必须在jQuery中完成我和其他人一样喜欢jQuery,但我仍然认为在服务器端解决你的问题会节省你大量的时间,从你的网站外观来看,每页面加载几百个ajax调用。谢谢-这就是web和我一起工作的佩奇--尝试过,但进展很快。也许是因为这是漫长的一天!我用您的内部页面结构创建了另一个
    js.bin
    ,然后用新代码更新了主页。我希望它能帮助你。谢谢-这是我正在使用的网页