从文本替换中设置值

时间:2013-11-08 08:26:54

标签: javascript text set greasemonkey

我的js错误,

我希望从文本替换设置值到输入值

这个HTML代码:

<td><span>5</span> <b>Stock</b><br /></td>
<input type="text" name="qty" size="5" maxlength="5" class="pcs" value="0" /> <b>Stock</b>

我的js代码:

var curInnerHTML = document.body.innerHTML;
curInnerHTML = curInnerHTML.replace(/5/g,"11");
document.body.innerHTML = curInnerHTML;

var settotal    = document.querySelector("[class='pcs']");
var stock       = document.body.innerHTML;
settotal.value  = stock; // need 11

http://jsfiddle.net/james007/4X68k/

1 个答案:

答案 0 :(得分:1)

这有点令人费解的方式来做你可能想要完成的事情。最好只选择您想要的文本而不是整个页面的内容。给包含数字的范围提供id:

<td><span id="stock">5</span> <b>Stock</b><br /></td>

然后专门针对跨度:

document.getElementById( 'stock' ).innerText = '11';

var settotal = document.querySelector("[class='pcs']");
settotal.value = document.getElementById( 'stock' ).innerText;

虽然取决于你正在做什么,但最好不要将文档内容用作数据存储:

var stock = 11;
document.getElementById( 'stock' ).innerText = stock;

var settotal = document.querySelector("[class='pcs']");
settotal.value = stock;