好的,我原来的问题根本不清楚,所以我会尝试以更好的方式解释它。
我正在制作一个用户脚本在某个页面上运行(已经存在并且我不能直接修改html,只能使用JS / Jquery)。我从该页面获取信息,并将其放入变量(我已经有工作)。
每个页面的信息都不同,但每个页面都有相同的HTML / JS代码,只有数字会发生变化。所以我想自动更改每个页面的标题(跨度值,用于描述信息是什么),而无需按任何按钮,只需加载页面即可。所以这一切(http://grab.by/tLB6)只是加载页面。
Josh Harrison已经发布了一个包含函数的回复,我确实知道它应该如何完成(使用函数)所以它只是在每次页面加载时运行该函数,用我的varbele替换span值并保存它( save =按ok)。
对不起,我很抱歉......
var inputName = $("#editInput").val();
var NewName = "My new text";
$("#labelText").text(NewName);
这个小提琴:http://jsfiddle.net/6X8fu/6/做了我想要的同样的事情(但是在另一个页面上),但它是用简单的JS编写的。我在我的意思之前发表评论。在此脚本中,它会提示某些内容,然后将其重命名为提示内容。在我的情况下,我从页面获取信息,将其放在变量中,然后想要重命名为变量内容。
答案 0 :(得分:1)
如果是您要更新的span
,请执行以下操作:
var NewName = "My new text";
$("#labelText").text(NewName);
如果是input
,请执行以下操作:
var NewName = "My new text";
$("#editInput").val(NewName);
$ element.val()用于获取表单元素的值。 $ element.val(“value”)用于设置表单元素的值。 $ element.text()的工作方式与获取和设置相同,但适用于非用户可编辑的DOM元素。
请参阅http://api.jquery.com/text/和http://api.jquery.com/val/
编辑2:
因此,您希望在页面加载时使用span
的值更新input
。作为额外的奖励,这将在您键入时继续更新。
工作示例:http://jsfiddle.net/6X8fu/8/
代码:
$(document).ready(function() {
var $label = $("#labelText"),
$input = $("#editInput");
function updateText() {
$label.text($input.val());
}
// just call the function without binding it to any events.
// This block executes inside $(document).ready() so will run as soon as the elements are ready.
updateText();
$input.on("keyup", updateText); // also bind to keyup event.
});
答案 1 :(得分:0)
我找到了解决方案,但它是JS。
var NewName = "Some text"
var editspan = document.getElementById('edit');
var editinput = editspan.getElementsByTagName('input');
editinput[0].value = (NewName);
editinput[1].click();
感谢您的所有回复:)