2014-10-07 78 views
-1

我想使用jQuery html()方法检索整个页脚标记内容,并且最终输出应该位于一个变量中。jQuery链方法不起作用

我尝试使用jQuery链方法,但它不工作。下面的代码出了什么问题。在使用jQuery html()方法检索后,链接不应该是可点击的。

<!DOCTYPE html> 
<html> 
<head> 

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
<script> 
$(document).ready(function(){ 
var footercontent = $('footer').html().removeAttr('href'); 
alert(footercontent); 
}); 
</script> 
</head> 
<body> 
<footer> 
<a href="#">site Map</a> | <a href="#">Privacy stat</a> | <a href="#">Tutorials</a> 
<p>Anchor tag link should be removed without content alignment changed.</p> 
<p>This is another paragraph.</p> 
<p>This is another paragraph.</p> 
<p>Anchor tag link should be removed without content alignment changed.</p> 
</footer> 
</body> 
</html> 
+1

的''

元素不包含'href'属性,因此没有删除。您必须定位实际包含属性的特定元素。我建议你阅读[jQuery文档](http://api.jquery.com/removeattr/),非常关注定义和例子。 – Sparky 2014-10-07 02:47:35

+0

你试图达到的目标也很不明确。你为什么要从所有的锚标签中删除'href'属性? – Sparky 2014-10-07 02:51:26

+0

'.html()',不带参数调用,返回匹配元素的html。在这种情况下,您将'.removeAttr()'作为未定义的字符串的方法调用,因此链断裂。 - JAAulde 3 – JAAulde 2014-10-07 02:51:47

回答

0

的代码应阅读:

$('footer a').removeAttr('href'); 

您正在试图删除页脚元素的href属性,但你需要从页脚中的任何一个标签移除它。

1

试试这个

$(document).ready(function(){ 
     $('footer').find('a').removeAttr('href'); 
     var footercontent = $('footer').html(); 
     alert(footercontent); 
}); 
+0

假设OP确实想要更新他/她的HTML代码,这在发布的代码中是不清楚的。 – 2014-10-07 02:54:36

+0

他仍然可以禁用所有的链接,而不使用此 '$( '尾')更新他/她的HTML代码中找到( 'A')点击(函数(E){ e.preventDefault(); });' whith这个没有html代码将被更新 – Ahmad 2014-10-07 02:58:37

+0

谢谢艾哈迈德。它的工作很好 – SPN 2014-10-07 03:01:01