在jquery中更改textarea行

时间:2015-05-12 11:49:42

标签: javascript jquery tampermonkey

我正在尝试使用Tampermonkey更改我们的一个Web管理界面中的UI,但我无法使其工作,可能是因为他们为tr,span和textarea元素设置了相同的id。

<tr id=thisspecificid>
    <span id=thisspecificid>
        <div>
            <textarea id=thisspecificid rows=15></textarea>

如果我运行$("#rule_definition")我只得到tr元素。

您是否知道如何将textarea更改为30行?

请注意,我根本没有对html部分的任何控制,我只想更改行,没有别的。

亲切的问候, 帕特里克

4 个答案:

答案 0 :(得分:2)

您可以在带有id的选择器中添加 type 控件以获取所需的特定元素。您可以将属性选择器与元素类型一起使用。在属性选择器中,使用*作为通配符,用于包含id中给定字符串的元素。

$("textarea[id*=rule_definition]").attr('rows','30'); 

如果您确定该ID将以rule_definition开头,则可以使用^而不是*

来使用带选择器的启动
$("textarea[id^=rule_definition]").attr('rows','30'); 

答案 1 :(得分:2)

这将在textarea

中找到#thisspecificid元素
$('#thisspecificid textarea').attr('rows', 20);

演示:https://jsfiddle.net/tusharj/rwmwyhd6/

答案 2 :(得分:1)

  

注意: 所有ID必须是唯一的,如果没有,请

要将textarea更改为30行(假设:一个textarea),您可以这样做

$('textarea').attr("rows","30")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id=thisspecificid rows=15></textarea>

答案 3 :(得分:1)

您可以使用.attr()进行更改:

$('tr textarea').attr("rows","30");

详细了解jquery.attr()