Как заменить внутренний HTML div с текстом, используя jquery?

0

Ниже в HTML, отображается на странице.

<div class="breadcrumb">
<span class="breadcrumb-trail" id="ctl00_ContentPlaceHolder1_ctl00_bc_content"><a title="" href="/default.aspx" target="_self">Home</a> &gt; <a title="" href="/summary.aspx?sid=105&amp;pid=133" target="_self">Summary</a></span>
</div>

В функции готовности документа я должен заменить

<a title="" href="/summary.aspx?sid=105&amp;pid=133" target="_self">Summary</a>

с

Summary

Чтобы HTML был изменен на следующий:

<div class="breadcrumb">
<span class="breadcrumb-trail" id="ctl00_ContentPlaceHolder1_ctl00_bc_content"><a title="" href="/default.aspx" target="_self">Home</a> &gt; Summary</span>
</div>

Как я могу сделать это с помощью jQuery?

Теги:

5 ответов

2
Лучший ответ

Попробуй это:

$(document).ready(function(){
    var text = $('#ctl00_ContentPlaceHolder1_ctl00_bc_content a:last-child').text();
    $('#ctl00_ContentPlaceHolder1_ctl00_bc_content a:last-child').remove();
    $('#ctl00_ContentPlaceHolder1_ctl00_bc_content').append(text);
});

демонстрация

Или вы можете использовать:

 var text = $('#ctl00_ContentPlaceHolder1_ctl00_bc_content a:last-child').text();
 $('#ctl00_ContentPlaceHolder1_ctl00_bc_content a:last-child').replaceWith(text);

демонстрация

2

Рабочая демонстрация http://jsfiddle.net/B4CrS/

Ваши идентификаторы выглядят как пользовательский контроль. Созданная Visual Studio вы можете сделать это просто!

Это будет соответствовать вашим потребностям :)

Код

$(document).ready(function () {
    $('a').filter(function (index) {
       if ($(this).text() === "Summary")
           $(this).replaceWith('Summary');
        return $(this).text() === "Summary";
    });

});
  • 0
    И почему, пожалуйста, объясните, пожалуйста, почему? :)) Случайные понижения не помогают! и демотивирующий :P siiiigh!
1

использовать jQuery.replaceWith

var node = $(".breadcrumb-trail > a:last-child");
var text = node.text();
node.replaceWith( text );

Вы можете изменить селектор в соответствии с вашими потребностями. Текущий селектор выбирает последний дочерний элемент "a" с классом breadcrumb-trail.

  • 0
    +1, да, и я удивляюсь, почему никто не видит, что html id - это код usercontrol, следовательно, его использование не решит проблему OP :) Есть другой способ использования фильтра, который я показал ниже. Но я не Downvoter :) просто чтобы быть ясно!
0
$('.breadcrumb-trail a:contains("Summary")').replaceWith('Summary');

или

$(".breadcrumb-trail a").last().replaceWith('Summary');

может работать, если вы хотите, чтобы он был короче.

сделал скрипку: http://jsfiddle.net/filever10/erpEN/

-1

Рассмотрите возможность использования thttp://api.jquery.com/html/

$(document).ready(function(){
    $("#ctl00_ContentPlaceHolder1_ctl00_bc_content").html("Summary")
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню