2015-10-31 2 views
1

На моей странице у меня случайное слово -FORM-. Я хочу заменить слово обеим тире для div, который можно щелкнуть. В настоящее время у меня есть код, который работает, но он не доступен для кликов.Замените текст в документе и сделайте clickable jQuery

$(document).ready(function(){ 
    $formContainer = $('<div id="get-form">This is my div container container</div>').html(); 

    document.body.innerHTML = document.body.innerHTML.replace('-FORM-', $formContainer); 

    $('#get-form').click(function(){ 
     alert('Click!') 
    }) 
}); 
+0

'$ ('

This is my div container container
') .html(),' просто очень сложный и неэффективный способ сказать ''
This is my div container container
' '. – GolezTrol

ответ

1

.html() получает внутренний HTML элемента, в этом случае только внутренний текст вашего элемента. Он не получает внешний html. Вам нужно будет использовать $formContainer[0].outerHTML, чтобы получить полную строку html.

Хотя в этом случае вам даже не нужно, так как нет причин даже переносить вашу html-строку в объект jQuery, так как после этого вы никогда не будете использовать объект jQuery. Просто используйте HTML строку в замене:

document.body.innerHTML = document.body.innerHTML.replace('-FORM-', '<div id="get-form">This is my div container container</div>'); 
+0

У Патрика есть небольшой пример для меня, пожалуйста? Я изучаю примеры. –

+0

@DonnyvanV, пример находится прямо в конце –

+0

Я имею в виду с внешнимHTML. Ваша строка кода работает нормально, но не получает часть для externalHTML. Извините, im dutch –

Смежные вопросы