用于替换a的内容的Jquery代码<;李>;在以下条件下使用主值
我很确定我的逻辑是流畅的,所以请帮助: 我有一个经典的无序列表,其中一些li值不同(“Hello 1”、“Hello 2”、“Hello 3”),而一些li值相同(“Hello World”值) 我还有一个匹配值,它是来自数据锚的“Hello World”用于替换a的内容的Jquery代码<;李>;在以下条件下使用主值,jquery,Jquery,我很确定我的逻辑是流畅的,所以请帮助: 我有一个经典的无序列表,其中一些li值不同(“Hello 1”、“Hello 2”、“Hello 3”),而一些li值相同(“Hello World”值) 我还有一个匹配值,它是来自数据锚的“Hello World” <ul class="traffic" data-ANCHOR="Hello World"> <li>Hello 1</li> <li>Hello 2</li
<ul class="traffic" data-ANCHOR="Hello World">
<li>Hello 1</li>
<li>Hello 2</li>
<li>Hello 3</li>
<li>Hello World</li>
<li>Hello World</li>
</ul>
它不起作用,什么也没发生。
但是,如果我将if条件更改为if(ANCHOR!=ANCHORMATCH)
,则代码会将所有
的内容替换为“嘿嘿”
我是一个新手,但我的直觉告诉我应该使用一个循环或其他东西
var ANCHOR = $("ul.traffic").data('ANCHOR');
var ANCHORMATCH = $("ul.traffic li a").text();
if(ANCHOR == ANCHORMATCH){
$('ul.traffic li a').replaceWith('hey hey');
}
此代码仅查看第一个ul.traffic li a
元素的内容。您需要使用来循环它们中的每一个。(事实上,您的HTML甚至没有a
元素:我已经相应地修改了代码。)
还要注意,jQuery将始终将数据锚
移动为数据(“锚”)
。为属性指定正常的大小写(数据锚
)可能是明智的
尝试使用类似的方法
$(".traffic li").each(function(i){
})
试试这个:
$('ul.traffic li:contains("' + $("ul.traffic").data('ANCHOR') + '")').html('hey hey');
记住jQuery/JavaScript将所有数据项规范化为小写
var ANCHOR = $("ul.traffic").data('ANCHOR');
应该是
var ANCHOR = $("ul.traffic").data('anchor');
这是一把小提琴
var ANCHOR = $("ul.traffic").data('ANCHOR');
var ANCHOR = $("ul.traffic").data('anchor');
var ANCHOR = $("ul.traffic").data('anchor');
$('ul.traffic li').each(function() {
if ($(this).text() === ANCHOR) {
$(this).html('hey hey');
}
});