javascript - 如果 HTML 标签不是兄弟元素或父元素,如何定位和重命名它?
问题描述
我有以下一段 HTML:
<tr id="shared_event_propsrow1">
<td class="field-public">
</td>
<td class="field-required">
</td>
<td class="field-number">
12.
</td>
<td class="field-label">
<label class="wrapable" for="shared_event_propsname">
Sponsor name (5):
<span style="display:none;"> Step 12.</span>
<span style="display:none;">Maximum input length is 255 characters.</span>
</label>
</td>
</tr>
<tr id="shared_event_propsrow2">
<td colspan="2"> </td>
<td> </td>
<td class="field-input">
<input name="shared_event_propsprop_sponsor_5.field" id="shared_event_propsprop_sponsor_5.field" value="" size="60" maxlength="255">
</td>
</tr>
现在,出于某种奇怪的原因,这个 CMS 有多个tr
具有相同交替 ID的元素shared_event_propsrow1
,shared_event_propsrow2
并且所有label
元素都使用相同的for=
并且class
在同一页面上的同一个表中......呃......所以我想要做的是针对这部分:
<label class="wrapable" for="shared_event_propsname">
Sponsor name (5):
<span style="display:none;"> Step 12.</span>
<span style="display:none;">Maximum input length is 255 characters.</span>
</label>
并将赞助商名称 (5) 重命名为 Cash and Cheques:
但我看到的唯一可以瞄准它的是一个id
生活在它tr
之后的东西 <input name="shared_event_propsprop_sponsor_5.field" id="shared_event_propsprop_sponsor_5.field" value="" size="60" maxlength="255">
我正在努力寻找合适的词来在 Google 中搜索可以做我想做的事情的东西。
任何帮助是极大的赞赏!谢谢
解决方案
正如异端猴子建议的那样,您可以针对文本本身:
$(function(){
$('label:contains(Sponsor name (5))').text('Cash and Cheques');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr id="shared_event_propsrow1">
<td class="field-public">
</td>
<td class="field-required">
</td>
<td class="field-number">
12.
</td>
<td class="field-label">
<label class="wrapable" for="shared_event_propsname">
Sponsor name (5):
<span style="display:none;"> Step 12.</span>
<span style="display:none;">Maximum input length is 255 characters.</span>
</label>
</td>
</tr>
<tr id="shared_event_propsrow2">
<td colspan="2"> </td>
<td> </td>
<td class="field-input">
<input name="shared_event_propsprop_sponsor_5.field" id="shared_event_propsprop_sponsor_5.field" value="" size="60" maxlength="255">
</td>
</tr>
推荐阅读
- webpack - 如何在单独的文件夹中将 SCSS 编译为 CSS
- python - 如何为自己的数据集使用 Keras ImageDataGenerator 来训练卷积自动编码器?
- python - 在 python 中编码,explain_instance 的 LIME 模块错误;字符串超出索引
- angular - 等待所有 http 请求在 Angular 中完成
- python - 如何正确重塑 sklearn 分类器的 predict_proba 的多类输出?
- javascript - 登录时如何检索用户的角色?
- c - 将附加参数传递给 Mosquitto 回调函数
- go - 在哪里可以找到 PACT 网络砖模拟服务器的日志文件
- django - 无法将变量从表单操作传递到 Django 中的视图
- google-sheets - 谷歌表格开关