Javascript 如何在<;李>&书信电报;a></a></李>;
很抱歉问了一个愚蠢的问题,但我搞不懂(初学者) 我有一份UL清单,其中包括:Javascript 如何在<;李>&书信电报;a></a></李>;,javascript,Javascript,很抱歉问了一个愚蠢的问题,但我搞不懂(初学者) 我有一份UL清单,其中包括: <div id="some_list"> <li ><a href="#">Hardware – HP Proliant DL145G2 AAA</a> 我怎样才能把AAA换成BBB 我假设函数应该调用$(document).ready,但我不知道在函数更改列表中应该做什么 <script type="text/javascript"
<div id="some_list">
<li ><a href="#">Hardware – HP Proliant DL145G2 AAA</a>
我怎样才能把AAA换成BBB
我假设函数应该调用$(document).ready,但我不知道在函数更改列表中应该做什么
<script type="text/javascript">
function change_list(aaa){
...
}
$(document).ready(function () {
$('#some_list li a').click(change_list);
});
功能更改列表(aaa){
...
}
$(文档).ready(函数(){
$('some#u list li a')。单击(更改列表);
});
这对于.text()的版本非常有用。
:
许多jQuery函数的函数参数版本特别适合于“读-修改-写”操作
它们避免了需要编写单独的代码来读取值、修改值,然后将值写回DOM
另一种选择是这样的:
$('#some_list li a').click(function() {
var oldText = $(this).text();
var newText = oldText.replace('AAA', 'BBB');
$(this).text(newText);
});
请注意现在如何调用.text()
两次-一次用于检索值,然后再次用于写入新值
在这种情况下,节省并不多,但当您想要修改属性或CSS值等内容时,该方法尤其强大,因为它避免了大量代码重复
函数参数方法的另一个优点是,它允许您将逻辑与DOM操作分离。您可以编写只关心修改字符串的简单修改函数,并让jQuery处理DOM操作。在
div
和li
之间确实有一个ul
元素,对吧?感谢您的回答,我已经使用了它并发现了一个问题。对于普通ASCII字符串,您的代码可以工作。但是,如果应该替换的字符串是html实体,如f.e.♠;没有。@Kris\R尝试使用.html()
而不是.text()
,然后。@Kris\R FWIW,我不能用jQuery 1.7.2在JSFIDLE上复制这个问题,这不是文本中某些实体的问题;真正的问题是我是否想替换实体本身。输入jsfiddle返回文本。替换(“♠;”,“♣;”)
你应该看到spade永远不会被club.ah所取代-这是因为.text()
和.html()
方法(至少在Chrome中)将返回真正的unicode字符,而不是转义的html实体。改用\u2660
-
$('#some_list li a').click(function() {
var oldText = $(this).text();
var newText = oldText.replace('AAA', 'BBB');
$(this).text(newText);
});