2017-10-19 42 views
1

我通过Ajax从URL加载内容并将内容附加到容器。当内容被附加时,锚文本不在<a></a>标记之外。在Ajax追加<a>标签之外的锚文本

所有内容都正确附加,并且请求的URL上的代码绝对没问题。

// url: https://example.com/index.html 

<div class="data-row__classes data-row__item"> 
    <img src="http://localhost/wp-content/uploads/2017/10/english.png" alt="icon"> 
    <span><a href="http://localhost/classes/english/" class="anchor">English</a></span> 
</div> 

// appended HTML after ajax request to https://example.com/index.html 

<div class="data-row__classes data-row__item"> 
    <img src="http://localhost/wp-content/uploads/2017/10/english.png" alt="icon"> 
    <span><a href="http://localhost/classes/english/" class="anchor"></a>English</span> 
</div> 
// note the malformed anchor tag 2 lines above 

我不确定如何描述这个;但我在网上找不到任何其他此问题的实例。在所请求的页面上,HTML标记绝对没问题;有没有人知道可能会争先恐后呢?具体的链接,没有别的?

完整的Ajax

$('.class-table__nav__favorites').on('click', function(e) { 
    var class_table_height = $('.class-table__results').outerHeight(); 
    if ($(this).hasClass('selected')) { 
     $(this).removeClass('selected'); 
     $.ajax({ 
      url: cml_theme.ajaxurl, 
      type: 'get', 
      data: { 
       action: 'favorites_only_off', 
       paged: $('.class-table__foot__nav').data('page') 
      }, 
      beforeSend: function(result) { 
       $('.class-table__results').css('height', class_table_height); 
       $('.class-table__results').empty(); 
       $('.class-table__results').append('<div class="class-table__loading"></div>'); 
      }, 
      success: function(result) { 
       $('.class-table__results').css('height', 'auto'); 
       $('.class-table__loading').remove(); 
       $('.class-table__results').append(result); 
       $('.class-table__foot').show(); 
      } 
     }); 
    } 
}); 

它从WordPress行动发生的代码: 'favorites_only_off' 是完全与上面的例子中的URL(example.com/index.html)中所述。

+0

确实,当你在阿贾克斯文件中创建的结构是正确的关闭开始标记HTML格式不正确? 在这种情况下,a标签中的链接文字是“英文”吗? – AlexCode

+1

请向我们展示您的JavaScript代码,将文本添加到锚点。 – Krusader

+0

返回的数据格式是什么?它是作为CDATA还是其他?还是纯粹的AJAX,你在JS中做了一些转换?我知道你说这很好,但这是最合乎逻辑的失败点(你看到的看起来可能是未终结标签或过早终止标签的结果),因此我们能够看到数据和你用来操纵它的代码。 – delinear

回答

0

在以前<a><a href="" ... />代替<a href="" ... >