0

我已经写了这个快速但代码:

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 字符串。

这里的问题是新行吗?我相信所以不能针对它。

4

2 回答 2

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');
于 2013-01-30T09:54:09.383 回答
0

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

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

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

于 2013-01-30T09:54:01.463 回答