更改 jquery 中的文本区域行

Change textarea rows in jquery

我正在尝试使用 Tampermonkey 更改我们的一个 Web 管理界面中的 UI,但我无法让它工作,可能是因为他们为 tr、span 设置了相同的 ID AND 文本区域元素。

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

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

您知道如何将文本区域更改为 30 行吗?

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

亲切的问候, 帕特里克

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

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

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

的选择器开头
$("textarea[id^=rule_definition]").attr('rows','30'); 

Note: All id's must be unique and if not please do

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

$('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>

这将在 #thisspecificid

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

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

您可以使用 .attr() 来更改它:

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

阅读更多关于 jquery.attr()