我有一个带按钮的页面:
<input type="button" alue="TEST"
style="height:40px;width:120px;"
onClick="javascript:window.location='page.html';" />
我想将其转换为(webui):
<li><a href="page.html">TEST</a></li>
这是我到目前为止的代码:(似乎不起作用)
$('<input type="button" value=').replaceWith('<li>');
$('onClick="javascript:window.location=').replaceWith('<a href="');
$('';" />').replaceWith('" target="_self"></a></li>"');
答案 0 :(得分:1)
你正在尝试在jQuery对象上进行字符串替换,这不是它的工作方式。你可以这样做:
$(':button[value="TEST"]').replaceWith($('<li><a href="page.html">TEST</a></li>'));
此外,正如Tomalak在评论中添加的那样,最好的办法是直接在HTML中更改它,而不是使用javascript。
答案 1 :(得分:1)
或者以更一般的方式:
$("input[type='button']").replaceWith(function() {
var $button = $(this);
var $result = $("<a></a>");
var target = $button.attr("onClick");
target = target.substr(target.indexOf('\''));
target = target.substr(0, target.length - 2);
$result.attr("href", target);
$result.text($button.val());
$result = $("<li></li>").append($result);
return $result;
});
答案 2 :(得分:1)
这似乎是个坏主意,但无论如何这里都是答案?
var elm = $('input[type="button"]'),
alue = elm.attr('alue'),
page = elm.attr('onClick').split("'")[1],
elm2 = '<li><a href="'+page+'">'+alue+'</a></li>';
elm.replaceWith(elm2);