【发布时间】:2015-06-03 04:57:27
【问题描述】:
我有四个带有 onclick 事件的图像按钮,两对两对。我正在尝试用文本按钮替换这些图像按钮,并将 onclick 功能重新附加到下一个文本按钮。这些按钮并不总是在页面上,我仅限于使用 jQuery 1.4,否则.prop 会让这变得更容易。
考虑一下这个 HTML:
<input type="image" src="path/to/image.gif" class="one" onclick="function()" />
<input type="image" src="path/to/image.gif" class="one" onclick="function()" />
<input type="image" src="path/to/image2.gif" class="two" onclick="function()" />
<input type="image" src="path/to/image2.gif" class="two" onclick="function()" />
我编写了以下 jQuery 代码来获取 onclick 函数、输入和重新绑定 onclick 函数。
$('input.one').each(function(){
var oneOnClick = $(this).attr('onclick');
$(this).replaceWith('<input type="button" value="one" class="one" onclick="'+oneOnClick+'" />');
)};
.two 也是如此。我发现在jQuery中返回onclick属性的值的方式意味着无法做到这一点。
使用一些在线资源,我将代码更新为如下所示:
var oneOnClick = $('input.one').first().attr('onclick');
var twoOnClick = $('input.two').first().attr('onclick');
$('input.one').each(function(){
$(this).replaceWith('<input type="button" class="one" value="one"/>');
});
$('input.two').each(function(){
$(this).replaceWith('<input type="button" class="two" value="two"/>');
});
$('input.one').live("click", oneOnClick);
$('input.two').live("click", twoOnClick);
但是我遇到了一个错误
TypeError: undefined is not an object (evalating 'b.split')
当input.one 不存在时。
我怎样才能做到这一点?
【问题讨论】:
-
您使用的是什么版本的
jquery? -
@GuruprasadRao 1.4.4
-
您的使用一些资源在线更新代码 令人困惑!
next_page_img存在于文档的什么位置 -
固定@GuruprasadRao
-
var twoOnClick = $('input.next_page_img').first().attr('onclick');怎么样。如果我没记错的话应该是input.two!!
标签: javascript jquery html onclick