Javascript 如何在<;李>&书信电报;a></a></李>;

Javascript 如何在<;李>&书信电报;a></a></李>;,javascript,Javascript,很抱歉问了一个愚蠢的问题,但我搞不懂(初学者) 我有一份UL清单,其中包括: <div id="some_list"> <li ><a href="#">Hardware &ndash; HP Proliant DL145G2 AAA</a> 我怎样才能把AAA换成BBB 我假设函数应该调用$(document).ready,但我不知道在函数更改列表中应该做什么 <script type="text/javascript"

很抱歉问了一个愚蠢的问题,但我搞不懂(初学者)

我有一份UL清单,其中包括:

<div id="some_list"> 
<li ><a href="#">Hardware &ndash; 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);
    });