使用 jQuery 拆分和修改元素
这是一个令人困惑的问题。我需要将 替换为不同的
但我需要保留 onclick 属性。这是一个示例:
<input type="image" class="previous_page_img graybutton mediumbutton" src="btn_prevpage.png" onclick="Add_Search_Param('page', 1); Refine();" alt="">
由于我无法将 类型更改为按钮,因此我想将其替换为按钮,但是,我需要保留“onclick”属性。所以首先,我必须分解这个元素。将其替换为按钮并将原始 onclick 属性附加到新按钮。
所以最后,我将这个 onclick="Add_Search_Param('page', 1); Refine();"
添加到新按钮中。由于 onclick 发生变化,简单的 .attr
或 .prop
函数是不够的。它必须克隆 onclick 属性。谁能帮助我吗?谢谢。
这是 jsFiddle,它不保留 onclick 属性,但执行其他所有操作: http://jsfiddle.net/rAMcw/
Here's a confusing question. I need to replace an <input>
with a different <input>
but I need to preserve the onclick attribute. Here's an example:
<input type="image" class="previous_page_img graybutton mediumbutton" src="btn_prevpage.png" onclick="Add_Search_Param('page', 1); Refine();" alt="">
Since I cannot change the <input>
type to a button, I want to replace it with a button, however, I need to preserve the "onclick" attribute. So first, I'd have to break up the element. Replace it with a button and append the original onclick attribute to the new button.
So in the end, I'd have this onclick="Add_Search_Param('page', 1); Refine();"
added to the new button. Since the onclick changes, a simple .attr
or .prop
function would not be sufficient. It must clone the onclick attribute. Can anyone help me? Thanks.
Here's jsFiddle that does not preserve the onclick attribute but does everything else: http://jsfiddle.net/rAMcw/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以(我使用一个简单的javascript函数来测试它)
在这里小提琴 http://jsfiddle.net/KjBm3/
You could do (i used a simple javascript function to test it)
fiddle here http://jsfiddle.net/KjBm3/
只需在输入后立即创建一个新按钮,将输入设置为
display: none;
(或jQuery('#input').hide()
)并让按钮onclick 触发输入的 onclick (jQuery('#button').click(function(){ jQuery('#input').trigger('click'); });
Just create a new button right after the input, set the input to
display: none;
(orjQuery('#input').hide()
) and have the button onclick trigger the input's onclick (jQuery('#button').click(function(){ jQuery('#input').trigger('click'); });
克隆怎么样?
更新了jsFiddle
How about cloning?
Updated jsFiddle
将现有的
input
元素变成按钮有什么问题?jQuery 1.4.2:(用普通的 JavaScript 设置属性);
演示
What is wrong with turning the existing
input
element into a button?jQuery 1.4.2: (set the property in plain-old JavaScript);
Demo