为什么我不能替换期权价值?

  • 本文关键字:替换 不能 jquery
  • 更新时间 :
  • 英文 :


我正在尝试修改此页上显示的选项值(点击"更多选项";展开参数:https://jobs.sap.com/?utm_source=careersite& utm_campaign = Top_Button

然而,由于某种原因,我似乎不能更改任何选项的值,只能更改占位符的值。我试着这样做:

$("document").ready(function() {
$("#optionsFacetsDD_department option").text($("#optionsFacetsDD_department 
option").text().replace("Administration", "Admin"));
}); 

知道为什么这不起作用吗?

这个问题是因为你使用的是$("document"),它告诉jQuery在DOM中找到一个<document />元素-它永远不会存在,而不是$(document)

$(document).ready(function() {
$("#optionsFacetsDD_department option").text($("#optionsFacetsDD_department option").text().replace("Administration", "Admin"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<select id="optionsFacetsDD_department">
<option>Foo Administration</option>
</select>

还请注意,您可以通过向text()提供一个接受当前文本值作为参数的函数来改进代码。然后,您可以调用replace(),而不必再次访问DOM以获取已经引用的元素的文本。试试这个:

jQuery($ => {
$("#optionsFacetsDD_department option").text((i, t) => t.replace("Administration", "Admin"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<select id="optionsFacetsDD_department">
<option>Foo Administration</option>
</select>

最新更新