Javascript .replace搜索字符串中的新行(不是定位?)

时间:2013-01-30 09:48:40

标签: javascript jquery html

我写了这么快但代码:

var navTitle = $('#nav ul').html();
    var replacer = navTitle.replace('<li class="page_item page-item-73">
    <a href="xxx/">x training programme</a><ul class=\'children\'>', 
    '<li class="page_item page-item-73"><a href="xxx/">x training programme</a
    <ul id="longDropdown" class=\'children\'>');
    console.log(replacer);
    //$('#nav ul').html(replacer);

在HTML中,它显示如下:

<li class="page_item page-item-73"><a href="xxx/">x training programme</a>
<ul class='children'>

我尝试在搜索字符串后放一个\ n但是字符串没有改变,我认为它找不到src字符串。

这里的问题是新线吗?我相信但不能瞄准它。

2 个答案:

答案 0 :(得分:1)

jQuery提供.replaceWith().replaceAll方法。

$('#nav ul .page_item.page-item-73 a').replaceWith('<a href="xxx/"x training programme</a>');

甚至可能更改文本内容或内部HTML将为您做到

$('#nav ul .page_item.page-item-73 a').text('x training programme');
分别

$('#nav ul .page_item.page-item-73 a').html('x training programme');

答案 1 :(得分:0)

为什么不选择ul然后使用.attr添加ID?

var navTitle = $('#nav ul ul.children').attr('id', 'longdropdown');

操作DOM往往比进行字符串替换更加整洁和安全。