1

需要一些帮助!我正在尝试获取以下输入 id "j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63" 的值,并尝试了 jquery 和 javascript,例如:document.getElementById("j_id0:j_id2:j_id4:j_id54:0:j_id59:3:j_id63")但不断得到空结果。ID也不能更改,感谢任何帮助

<td class="sf42_cell_bottom_light"><span id="j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id61"><input id="j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63" maxlength="200" name="j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63" size="20" type="text" value="717474417"></span></td>
4

4 回答 4

1

用这个:

$("[id='j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id61']")

顺便说一句,由于您显然使用的是 JSF,因此为每个组件设置 id 以避免这种可怕的 id 是一个很好的做法(如果您添加/删除组件,谁可以更改)。

在此线程中查看更多信息:

于 2013-09-17T06:33:46.690 回答
0

您可能需要colon在您的 id 中转义。所以

尝试这个

 function RemoveInvalidCharacter(myid) {
        return '#' + myid.replace(/(:|\.|\[|\])/g, "\\$1");
    }

像这样打电话

$(RemoveInvalidCharacter('j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id61'));

看看如何通过具有 CSS 表示法中使用的字符的 ID 选择元素

于 2013-09-17T06:42:42.277 回答
0

您对元素有任何控制权吗?你能添加一个类吗?

var val= document.getElementsByClassName("TheClassName");

或者您可以使用 sf42_cell_bottom_light 类(如果它是唯一的)获取 TD,然后通过以下方式获取其 INPUT 元素:

var theTd= document.getElementsByClassName("sf42_cell_bottom_light");
var val =  theTD.getElementsByTagName("INPUT");

我需要查看更多的 HTML 才能为您提供更好的答案。

于 2013-09-17T06:32:00.990 回答
0

我已经测试了这段代码:

   <td class="sf42_cell_bottom_light">
<span id="j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id61">
<input id="j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63" maxlength="200" name="j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63" size="20" type="text" value="717474417">
</span>
</td>


<script type="text/javascript">
    document.write(document.getElementById("j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63").value);
</script>

在 FF、IE、Chrome(最新版本)中......并且似乎工作正常......你确定它是关于这个 id 的吗?

代替:

document.getElementById("j_id0:j_id2:j_id4:j_id54:0:j_id59:3:j_id63")

document.getElementById("j_id0:j_id2:j_id4:j_id54:0:j_id59:0:j_id63")

身份证不一样。

http://jsfiddle.net/wNePW/

于 2013-09-17T06:56:21.063 回答