Eri*_*itz 26 javascript xpath dom
我试图找出如何使用xpath和JavaScript(这是唯一的选项)在下面的代码中选择textarea.
<body>
<div id="calculator">
<div id="calculatorController">
<form action="#" method="get" onsubmit="return false">
<p>
<textarea disabled="disabled"></textarea>
</p>
</form>
...
Run Code Online (Sandbox Code Playgroud)
我正在尝试做这样的事情
var element = document.evaluate( '//body/form/p/textarea' ,document, null, XPathResult.ANY_TYPE, null );
// and write back
element.value = "Hello textarea";
Run Code Online (Sandbox Code Playgroud)
但它失败了
有人热心帮忙吗?
谢谢
在此下方更新
================================================== ==========
整个代码块看起来像这样.别忘了window.onload=function()
<html>
<head>
<script type='text/javascript'>
//<![CDATA[
window.onload=function(){
var element = document.evaluate( '//body//form/p/textarea' ,document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;
if (element != null) {
element.value = 'Hello textarea';
}
}
//]]>
</script>
</head>
<body>
<div id="calculator">
<div id="calculatorController">
<form action="#" method="get" onsubmit="return false">
<p>
<textarea disabled="disabled"></textarea>
</p>
</form>
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Mar*_*nen 34
evaluate方法不会像您期望的那样返回DOM节点.你需要
var element = document.evaluate( '//body//form/p/textarea' ,document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;
if (element != null) {
element.value = '...';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52729 次 |
| 最近记录: |