我将所有包含文字“edit”的链接替换为图像。我想在整个网站上发生这种情况,除了在特定的课程中。
我现在有这个代码:
$('a:contains("Edit")').html("<img src='<%= asset_path 'edit.png' %>'/>").css('display',
'inline-block');
我尝试过:
$('a:contains("Edit")').not$("div[class='section-nav']").html("<img src='<%= asset_path
'edit.png' %>'/>").css('display','inline-block');
但是在任何地方都省略了整个动作,而不仅仅是在我指定的类div中。
htlm表示我不想要图像的特定div
<div id="ideas_navigation" class="section-nav">
<li>
<a href="/ideas/bpul_dishes/edit">Edit Idea</a>
</li>
</div>
html链接我想要替换文字:
<a href="/ideas/bpul_dishes/edit">Edit</a>
答案 0 :(得分:0)
我会使用过滤功能:
$('a:contains("Edit")').filter(function() {
return $(this).closest('div.section-nav').length == 0;
}).html("<img src='<%= asset_path 'edit.png' %>'/>");
上面只会返回包含单词“Edit”的锚点,这些锚点不在类.section-nav
的div中。
不确定上面的.html
是否会起作用(直接来自您示例中的代码),因为似乎有很多单引号
答案 1 :(得分:-1)
<强> jquery的强>
$('a:contains("Edit")').parent().parent(":not(.section-nav)").html("NEW HTML HERE").css('display','inline-block');
答案 2 :(得分:-1)
试试这个:
$('*:not(div.section-nav) a:contains("Edit")')
.html("<img src='<%= asset_path 'edit.png' %>'/>").css('display','inline-block');
...假设您想要的是替换html并更改所有“Edit”链接的css,这些链接不在具有class section-nav的div中。