明天有救了动态改变正则表达式

本文介绍了一种在ExtJs中动态更改TextField标题的方法。由于ExtJs未直接提供此功能,作者通过分析TextField渲染后的HTML结构,利用DOM操作实现了标题的动态修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我遇到要动态更改TextField的fieldLabel方法时,因为ExtJs本身没有提供这个方法,在网上找了很多资料也没能正在解决这个问题, 于是我自己研究了很久,终于想到一个方法。那就是用Firebug来查看ExtJs的TextField在运行时被解析成什么样的HTML标签,然后用 Dom操作来修改它的标题。


var textField = new Ext.form.TextField({
fieldLabel: "输入框标题",
id: "textfieldId"
});


上面的一个TextField在运行时被解析成的HTML为:


<div tabindex="-1" class="x-form-item " id="ext-gen117">

<label class="x-form-item-label" for="textfieldId" id="ext-gen118">输入框标题:</label>

<div style="padding-left: 105px;" id="x-form-el-netprice1" class="x-form-element">

<input type="text" name="textfieldId" id="textfieldId" autocomplete="off" class=" x-form-text x-form-field x-form-num-field"  title="">

</div>

<div class="x-form-clear-left"></div>

</div>


从上面的HTML可以看出,输入框(text)和它的标题(label)的 Dom关系是:label是text的叔叔 ,所以,我们可以使用如下代码来更改它的标题:

document.getElementById("textfieldId").parentNode.previousSibling.innerHTML ="输入框标题改变了:";

注: 在更改它的标题之前,要保证该TextField已经被渲染到窗体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值