我正在运行一个小的javascript替换来替换按钮单击时的文本,但我看不到为什么它不起作用。有人可以告诉我我在做什么错吗?
http://jsfiddle.net/zg4VB/2/
$("#button").click(function() {
$("#editme").value = replaceLinks($("#editme").val());
})
function replaceLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"[url=$1]$1[/url]");
}
最佳答案
.value
通常是DOM Input元素的直接属性。用于访问或更改元素值的jQuery函数为.val()
有用的是,.val()
允许您传递一个函数来改变当前值。该函数将传递元素的索引和当前值,并且该函数的返回值将替换原始值。您需要做的就是更改replaceLinks
函数的签名,以允许使用index
参数(然后您可以放心地忽略它)。
$("#button").click(function() {
$('#editme').val(replaceLinks); // calls `replaceLinks` to mutate its value
});
function replaceLinks(index, text) {
...
}
见http://jsfiddle.net/alnitak/XzrHP/
关于javascript - 单击按钮时替换Javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15390936/