我目前正在进行 Sharepoint 自定义,并且遇到了一个问题,如果选择了特定的元素 ID,我需要调用一个函数。问题是每次我们安装 Sharepoint 实例时元素 ID 都会发生变化,所以我的目标是通过元素 ID 的“值”来识别元素 ID。为了给我的问题一些背景,这是html(不能更改):
<span class="ms-RadioText" title="Yes"><input id="378Ukj200" name="radio_button" value="ctl00" checked="checked" type="radio"><label for="378Ukj200">Yes</label></span>
<span class="ms-RadioText" title="No"><input id="378Ukj201" name="radio_button" value="ctl01" type="radio"><label for="378Ukj201">No</label></span>
这些是当前基于 getElementID 的语句(一旦我们将实例添加到生产框,这些语句将不起作用):
document.getElementByID('378Ukj200').onclick = new Function('checkForRadioChange("Yes");');
document.getElementByID('378Ukj201').onclick = new Function('checkForRadioChange("No");');
例如,我什至希望使用 span 标签实现一些效果(当然,由于多种原因,这永远不会起作用):
var rispan = document.getElementsByTagName('span');
for( var i = 0, j= rispan.length; i < j; i+=1 ) {
var classes = span[i].getAttribute("title");
if( classes ) {
if( classes.indexOf("Yes") != -1) {
onclick = new Function('checkForRadioChange("Yes");');
}
else if( classes.indexOf("No") != -1) {
onclick = new Function('checkForRadioChange("No");');
}
}
}