javascript:document.getElementsByTagName('textarea').innerHTML='inserted';
我想创建一个书签,将简单文本插入给定网页上的文本区域。
关于亚光
答案 0 :(得分:6)
使用value
属性而不是innerHTML
并确保您的代码评估为undefined
,您可以将其包装在没有return
语句的函数中。如果不这样做,页面的内容将被替换为您的代码评估的内容(在这种情况下,字符串'inserted')。
javascript:(function() {document.getElementsByTagName('textarea')[0].value = 'inserted';})();
2012年1月14日更新
我没有发现原始代码将document.getElementsByTagName('textarea')
视为单个元素而不是NodeList
这一事实,因此我使用[0]
更新了代码。 @ streetpc的答案更详细地解释了这一点。
答案 1 :(得分:3)
Unlinke getElementById
,getElementsByTagName
在s
有一个Elements
,因为它返回一个 数组数组类NodeList 匹配元素。因此,您必须首先访问其中一个元素,为简单起见,请说第一个元素:
javascript:void((function(){document.getElementsByTagName('textarea')[0].value='inserted'})())
另外,正如其他人所说,value
属性而不是innerHTML
。
答案 2 :(得分:1)
如果有人想知道如何使用当前关注的文本字段,请使用以下内容:
document.activeElement.value = "...";
答案 3 :(得分:0)
在jQuery中你必须这样使用:
单个元素 - > $('#element_id')。html('你的html在这里')
对于所有文本区域 - > $('textarea')。val('你的html在这里')
我必须承认,我不确定为什么它会这样运作,但它有效。并且使用rameworks,它们将为您节省时间和精力。