我正在尝试修改此页上显示的选项值(点击"更多选项";展开参数: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>