我从某个地方购买了现成的软件,我只有 js 和 css 访问权限。我是代码新手,需要您的帮助。
如果 right_line span 等于“Aynı Gün”,我想将所有 div 文本更改为“24 SAATTE KARGODA”。
有 3 个跨度即将到来,但我想取消其他跨度。
<div class="Formline" id="divTahminiTeslimatSuresi" style="">
<span class="left_line lineTitle">Tahmini Teslim Süresi</span>
<span class="center_line lineTitle">:</span>
<span class="right_line" id="spnTahminiTeslimSuresi">Aynı Gün</span>
</div>
提前感谢您的帮助。
答案 0 :(得分:0)
使用 jQuery 的 .each() 和 .find() 元素,.text() 匹配某个字符串 ("Aynı Gün"
)
const cargo24h = "24 SAATTE KARGODA";
$(".Formline").each(function() {
// $(this) refers to the currently iterating .Formline $Element
const $rightLine = $(this).find(".right_line");
if ($rightLine.text() === "Aynı Gün") {
$(this).html(cargo24h);
// $rightLine.text(cargo24h); // Or use this one
}
});
<div class="Formline" id="divTahminiTeslimatSuresi" style="">
<span class="left_line lineTitle">Tahmini Teslim Süresi</span>
<span class="center_line lineTitle">:</span>
<span class="right_line">Aynı Gün</span>
</div>
<div class="Formline" id="divTahminiTeslimatSuresi" style="">
<span class="left_line lineTitle">Tahmini Teslim Süresi</span>
<span class="center_line lineTitle">:</span>
<span class="right_line">Ertesi gün</span>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
PS:如果是这种情况 - 不要在多个元素上使用相同的 ID (spnTahminiTeslimSuresi)。 ID 必须是唯一的。
答案 1 :(得分:0)
您也可以使用 :contains()
伪类来做到这一点。
像这样:
$('.Formline span:contains(Aynı Gün)').text('24 SAATTE KARGODA');
$('.Formline span:contains(Aynı Gün)').text('24 SAATTE KARGODA');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="Formline" id="divTahminiTeslimatSuresi" style="">
<span class="left_line lineTitle">Tahmini Teslim Süresi</span>
<span class="center_line lineTitle">:</span>
<span class="right_line" id="spnTahminiTeslimSuresi">Aynı Gün</span>
</div>