【发布时间】:2014-03-18 13:33:07
【问题描述】:
我有一个我试图实现但没有成功的例子。
jQuery:
$('#change').click(function() {
var $planHeaders = $('.plan > div > div:first-child');
$planHeaders.replaceWith($('<a>' + 'homeboy' + '</a>')).attr("href", "javascript:void(0);").addClass('tile');
$('.plan > div > div:last-child').hide();
});
关于 JsFiddle 的示例:http://jsfiddle.net/95YCr/1/
基本上我想要做的是一旦达到移动/平板电脑大小,将标题更改为标签并删除 .plan div 中的按钮。
此示例没有响应式,我只是将其用作测试版本,#change 链接用作我的“响应式视图激活”。
我注意到 href 属性或类都没有添加到所需的标签中。
我做错了什么?
【问题讨论】:
-
我认为
replaceWith返回的是被替换的元素,而不是新的元素。 -
只是提示,您应该尽可能避免使用
$(this).parent().parent().parent().parent().parent().toggleClass('open');之类的东西,使用.closest()或.parents()。 -
您将属性添加到
$planHeaders,而不是新的<a>标记。 attr/addclass 调用应该在replaceWith()调用内部,很可能。 -
谢谢!这就是问题所在。问题解决了!
标签: jquery attr replacewith