使用 jQuery 拆分和修改元素

发布于 2025-01-02 02:41:43 字数 714 浏览 1 评论 0原文

这是一个令人困惑的问题。我需要将 替换为不同的 但我需要保留 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

分分钟 2025-01-09 02:41:43

你可以(我使用一个简单的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/

You could do (i used a simple javascript function to test it)

<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);

fiddle here http://jsfiddle.net/KjBm3/

猫腻 2025-01-09 02:41:43

只需在输入后立即创建一个新按钮,将输入设置为 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; (or jQuery('#input').hide()) and have the button onclick trigger the input's onclick (jQuery('#button').click(function(){ jQuery('#input').trigger('click'); });

冷弦 2025-01-09 02:41:43

克隆怎么样?

var x = $('input').clone(true);
x.attr('type','button').addClass('previous_page_img graybutton mediumbutton').val('Previous Page');
$('input').replaceWith(x);

更新了jsFiddle

How about cloning?

var x = $('input').clone(true);
x.attr('type','button').addClass('previous_page_img graybutton mediumbutton').val('Previous Page');
$('input').replaceWith(x);

Updated jsFiddle

意犹 2025-01-09 02:41:43

将现有的 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";

演示

What is wrong with turning the existing input element into a button?

$("input.previous_page_img").prop("type", "button").val("Previous Page");

jQuery 1.4.2: (set the property in plain-old JavaScript);

$("input.previous_page_img").val("Previous Page")[0].type = "button";

Demo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文