jQuery Изменить текст привязки после вставки его в div
У меня следующая проблема.
Мне нужно изменить текст привязки после добавления динамически внутри div.
В моем коде:
Кнопка "Загрузить файл" добавляет ссылку на загруженный файл в div class = "div" (это симуляция). Программа, которая загружает файл, не может быть изменена.
Эта программа возвращает текст привязки с путем и именем файла, но я просто хочу сохранить имя.
Проблема в том, что я не могу найти, в какое событие поместить свой код для изменения текста привязки. Я сделал тест, и он работает с событием mousemove, но это всего лишь тест.
Как вызвать код, который изменяет текст привязки?
Приведенный ниже код не работает, но вы можете попробовать включить событие mousemove, чтобы увидеть желаемый результат.
Заранее спасибо! за помощь...
$(document).ready(function () {
$("#btnSave").click(function () {
// alert("Alert Click");
$('.div').append(
'<a id="link-x" href="http://example.com/file-3.pdf">http://example.com/file-3.pdf</a><br>');
});
/* This Works only for Testing
$(document).mousemove(function () {
$('a[id*="link"]').each(function(){
var text = $( this ).text();
var html = $( this ).html();
var res = text .replace( 'http://example.com/', '' );
$( this ).text( res );
});
});
*/
$('a[id*="link"]').on(function () {
$('a[id*="link"]').each(function(){
var text = $( this ).text();
var html = $( this ).html();
var res = text .replace( 'http://example.com/', '' );
$( this ).text( res );
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="mycode">
<button id="btnSave">Load File</button>
</div>
<div class="div">
<a id="link-x" href="http://example.com/file-1.pdf">file-1.pdf</a><br>
<a id="link-x" href="http://example.com/file-2.pdf">file-2.pdf</a><br>
</div>
1 ответ
Попробуй это:
$(document).ready(function () {
$("#btnSave").click(function () {
$('[id*="link"]').text(function() {
return $(this).text().replace("http://example.com/", "");
});
});
});