使用jQuery拆分和修改元素
Split up and modify an element with jQuery
这里有一个令人困惑的问题。我需要用不同的<input>
替换<input>
,但我需要保留onclick属性。这里有一个例子:
<input type="image" class="previous_page_img graybutton mediumbutton" src="btn_prevpage.png" onclick="Add_Search_Param('page', 1); Refine();" alt="">
由于我无法将<input>
类型更改为按钮,所以我想将其替换为按钮,但是,我需要保留"onclick"属性。因此,首先,我必须分解元素。将其替换为按钮,并将原始onclick属性附加到新按钮。
所以最后,我会把这个onclick="Add_Search_Param('page', 1); Refine();"
添加到新按钮中。由于onclick发生了更改,一个简单的.attr
或.prop
函数是不够的。它必须克隆onclick属性。有人能帮我吗?谢谢
以下是jsFiddle,它不保留onclick属性,但执行其他所有操作:http://jsfiddle.net/rAMcw/
你可以做(我用了一个简单的javascript函数来测试它)
<input type="image" class="previous_page_img graybutton mediumbutton" src="btn_prevpage.png" onclick="Add_Search_Param('page', 1); Refine();" alt="">
var onclick = $('.mediumbutton').attr('onclick');
var but = $('<input/>', { type: "button", value: "pressme", onclick: onclick});
$('.mediumbutton').replaceWith(but);
小提琴在这里http://jsfiddle.net/KjBm3/
只需在输入后创建一个新按钮,将输入设置为display: none;
(或jQuery('#input').hide()
),并让按钮onclick触发输入的onclick(jQuery('#button').click(function(){ jQuery('#input').trigger('click'); });
克隆怎么样?
var x = $('input').clone(true);
x.attr('type','button').addClass('previous_page_img graybutton mediumbutton').val('Previous Page');
$('input').replaceWith(x);
更新jsFiddle
将现有的input
元素变成按钮有什么问题?
$("input.previous_page_img").prop("type", "button").val("Previous Page");
jQuery 1.4.2:(用普通的旧JavaScript设置属性);
$("input.previous_page_img").val("Previous Page")[0].type = "button";
演示
相关文章:
- 复制和修改元素,以便在html文档的另一部分使用它们
- 如何修改元素中的现有<内容>
- jQuery 在 ajax 调用后修改元素
- 如何使用带有 % 符号值的 ERB 和 JQuery 修改元素样式属性
- Javascript,在克隆后修改元素
- 当键关闭事件(TAB 键)修改元素值时不触发更改事件
- 修改元素属性后,Jquery 选择器不起作用
- 根据选择选项修改元素
- 文本框的保留值,修改元素后选择
- 如何临时修改元素的CSS
- 使用jQuery拆分和修改元素
- 修改元素'事件函数的参数
- 修改元素的CSS
- 使用jQuery通过ID动态修改元素属性
- 如何修改元素的部分,当它在一个变量
- 使用php修改元素'
- 在Angular.js中,如何在点击时使用ng-repeat迭代对象列表中修改元素的属性?
- javascript修改元素的样式
- 使用jQuery修改元素内容
- 不能使用jquery .on()修改元素的属性