更改<标签为>
Changing <label for>
我在SharePoint 2013列表中工作,其中有一个选择列,"允许'填充'选择:"设置为Yes。
默认情况下,该单选按钮的文本标签设置为"指定您自己的值:",并且不能通过用户界面更改。如何通过JS改变它?我在下面提供了一个简短的代码片段,展示了最终呈现的代码。
<span title="Specify your own value:" class="ms-RadioText" onclick="SetFocusOnControl('ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl02')">
<input name="ctl00$m$g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1$ff1251$ctl00$RadioButtons" id="ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01" type="radio" value="ctl01">
<label for="ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01">Specify your own value:
</label>
</span>
我试过了,但没有成功:
document.getElementByName("ctl00$m$g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1$ff1251$ctl00$RadioButtons")[1].innerHTML="BOO!";
document.getElementByName("ctl00$m$g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1$ff1251$ctl00$RadioButtons")[1].innerText="BOO!";
document.getElementById("ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01")[1].innerText="BOO!";
document.getElementById("ctl00_m_g_d8db5d84_c3de_40e0_8fa4_d9fd909d75d1_ff1251_ctl00_ctl01")[1].innerHTML="BOO!";
谢谢,
哈
getElementsByName
适用于具有name
属性的元素。类似地,getElementById
适用于具有id
属性的元素。因此,由于标签两者都没有,所以这些都不起作用。
你需要的是
document.querySelector('label[for="ridiculouslylongid"]').innerHTML="BOO!";
此外,您在源代码中的两个函数中都有[1]
,但这是不行的。对于getElementsByName
,您应该使用[0]
,因为结果是基于0的。对于getElementById
,和querySelector
一样,根本不需要索引(它们不是集合)。
相关文章:
- 在Datatables中设置本地化后,需要更改标签文本
- 如何在Extjs5中更改条形图的标签
- 更改 H3 标签内容
- Highcharts动态更改标签
- 使用json数据更改视频标签中的src属性
- 当选择文件时更改标签内容jQuery
- jQuery更改'a'标签
- 使用jVectorMap将标记标签更改为多行
- 如何根据主题标签更改活动链接的 css
- 在 ChartJs 中将长标签更改为多行(换行)标签
- 在道场中编码,1.得到错误所有者文档 null 或不是对象,2.按钮标签更改后未更新
- json不能't使用标签更改数据
- 在javascript上将标签更改为文本框
- 如何将高图的数据标签更改到新位置
- 浏览器标签更改通知,比如当你收到新的gmail电子邮件或Twitter上的新tweet时
- 通过单击标签更改输入属性
- 将控件标签更改为按钮以访问 Razor 视图中的“我的条款和条件”页
- jQuery:将 img alt 标签更改为列表值
- 触发标签更改操作
- 标签更改后,jsf中无法刷新数据表