编辑跨度输入

时间:2014-01-23 09:34:09

标签: jquery rename html

好的,我原来的问题根本不清楚,所以我会尝试以更好的方式解释它。

我正在制作一个用户脚本在某个页面上运行(已经存在并且我不能直接修改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编写的。我在我的意思之前发表评论。在此脚本中,它会提示某些内容,然后将其重命名为提示内容。在我的情况下,我从页面获取信息,将其放在变量中,然后想要重命名为变量内容。

2 个答案:

答案 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();

感谢您的所有回复:)