抱歉愚蠢的问题,但我无法弄清楚(初学者)
我有一个包含以下项目的UL列表:
<div id="some_list">
<li ><a href="#">Hardware – HP Proliant DL145G2 AAA</a>
如何更改OnClick AAA到BBB?
我假设该函数应该调用$(document).ready,但我不知道我应该在函数change_list中做什么。
<script type="text/javascript">
function change_list(aaa){
...
}
$(document).ready(function () {
$('#some_list li a').click(change_list);
});
答案 0 :(得分:2)
这适用于.text()
的{{3}}版本:
$('#some_list li a').click(function() {
$(this).text(function(index, text) {
return text.replace('AAA', 'BBB');
});
});
许多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操作。