Поскольку структура страницы выглядит одинаково - изменено только содержимое span
- вы можете выбрать новое новое содержимое диапазона и заменить его содержимым старого диапазона: [ 1110]
const $userclickedhere = $('#userclickedhere');
$userclickedhere.on('click', () => console.log('click'));
const thenewhtml = `<span id="userclickedhere">new data</span>`
const newSpanContent = $(thenewhtml).text();
$userclickedhere.text(newSpanContent);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="product_blocks"> <span id="userclickedhere">click me</span> </div>
Это сохранит всех слушателей на #userclickedhere
.
(конечно, вам также нужно использовать .html
в коллекциях jQuery для установки их HTML - .innerHTML
- это метод для нативных элементов DOM , что не одно и тоже)
использовать static_cast
как strager ответы. Я рекомендую против использования неявного броска (или даже броска C-стиля в исходном коде C++) по нескольким причинам:
static_cast
сразу делает Ваше намерение очевидным.static_cast
и другие броски в стиле С++ легки для grep
обработать.Необходимо использовать static_cast
или полагайтесь на неявный бросок вместо этого:
int64_t a = 1234;
double d = static_cast<double>(a);
double f = a;
Поскольку типы POD обе версии делают то же самое. Выберите тот, который Вы предпочитаете и последовательны.
Я знаю многих людей, которые предпочитают первого для ввода/удобочитаемости, и я склонен соглашаться с этим, но я могу жить с также.
Я слышал "легкий к grep для" аргумента много раз, но должен все же когда-либо сталкиваться с ситуацией, где мне была нужна к grep моя кодовая база для бросков POD.
Вы также можете использовать синтаксис преобразования, который является эквивалент static_cast: