gpt4 book ai didi

javascript - 如何通过 "value"检索元素的 id?

转载 作者:行者123 更新时间:2023-11-28 16:06:30 25 4
gpt4 key购买 nike

我目前正在进行 Sharepoint 自定义,并且遇到了一些问题,如果选择了特定元素 id,我需要调用一个函数。问题是,每次我们安装 Sharepoint 实例时,元素 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");');
}
}
}

最佳答案

由于输入似乎是跨度的唯一输入子项,因此获取它相当简单:

var input = rispan[i].getElementsByTagName('input')[0]
...
input.onclick = new Function ...

http://jsfiddle.net/ExplosionPIlls/Y74bn/

<小时/>

您应该使用function () {}语法来定义匿名函数。 new Function 似乎不太适合您。此外,onlick 已经过时且邪恶了!您应该使用 addEventListener(如果存在)。否则,attachEvent

关于javascript - 如何通过 "value"检索元素的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14698638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com