хейуыыыыыы все! У меня есть одна проблема по поводу следующего кода: я использую ajax на рельсах, и все это работает просто отлично, за исключением внутренней замены HTML. Это на самом деле работает в первый раз (в основном это платформа, похожая на трут, где вы проводите профили), но потом это больше не работает. Предполагаемое поведение заключается в том, что он должен изменить заголовок, который гласит «4 совпадения осталось», и уменьшать «4» на единицу каждый раз.
function matchDisplayer() {
var wrapper2 = document.querySelector(".wrapper-match");
var parent = document.querySelector(".matchme-container");
if(wrapper2){
parent.prepend(wrapper2);
wrapper2.hidden = false;
changeText(wrapper2);
} else {
window.location.replace("<%= matches_path %>");
}
};
function changeText(wrapper) {
let fullText = wrapper.querySelector("#matches-left");
let minusOne = `${parseInt(fullText.innerText[0], 10) - 1}`;
fullText.innerText = `${fullText.innerText.replace(fullText.innerText[0], minusOne)}`;
}
<% if @match.save %>
matchRemover();
matchDisplayer();
<% end %>
, поэтому в основном так и происходит: все совпадения (обычно 5 ) отображаются одновременно, но скрыты. javascript делает первое скрытое значение FALSE при загрузке страницы таким образом, чтобы оно отображалось Затем выполняется отправка с помощью ajax (и все работает, за исключением обновления количества оставшихся совпадений, оно удаляет первое и заставляет второе прекрасно отображаться сверху)
Есть идеи?
строка, которую я пытаюсь изменить, расположена так:
<div class="wrapper-match">
<p id="matches-left">
</p>
lots of stuff
</div>