2013-07-29 25 views
1

我有一个建有小窗体上的Drupal站点用下面的代码:我有一些麻烦,试图让我的脚本改变一个元素

<form id="form"> 
    <button class="btn calc" id="calculator" onclick="return false">Submit</button> 
    <div class="calcAnswer">£ <span id="result">no value</span></div> 
</form> 

我想用JavaScript来自动替换一旦按钮被点击,带有值的#result元素。

我想这个代码(但似乎无法得到它的工作:

jQuery(document).ready(function ($){ 
    $("#calculator").click(function() { 
     $("#result").replaceWith('<span id="result">A new value</span>'); 
    }); 
}); 

我有一个的jsfiddle(http://jsfiddle.net/NFQpw/8/)进行了测试,但我还是一无所获

+0

首先将'jQuery库'添加到您的小提琴请参阅:http://jsfiddle.net/NFQpw/11/ –

+0

DOH!大声笑感谢 – kaipee

回答

1

其实,你摆弄的问题是,你有“无库(纯JS)”规定。您需要包含jQuery,并且您的脚本将按预期工作(在左侧栏的“框架&扩展”下,选择jQuery的一个版本)。你的jQuery没有任何问题。

这就是说,我同意@Stijn马滕斯,使用.html('A new value')是更清洁;在这种情况下没有理由使用.replaceWith

你可以看到它在这里工作:http://jsfiddle.net/Jammerwoch/NFQpw/12/

1

你只需要设置HTML的#result范围内。使用.html()功能。

jQuery(document).ready(function ($){ 
    $("#calculator").click(function() { 
     $("#result").html('A new value'); 
    }); 
}); 

http://jsfiddle.net/Stijntjhe/NFQpw/10/

+1

其实OP的代码是完全正确的,但他们没有包括jQuery库。 –

0

试试这个。只是包括JS:link

jQuery(document).ready(function ($){ 
    $("#calculator").click(function() { 
     $("#result").replaceWith('<span id="result">A new value</span>'); 
    }); 
}); 
0

它的工作,但你用纯JavascriptFrameworks & Extensions在左侧菜单中的测试,不jQuery

设置选项jQuery 1.10.1

,它将工作

相关问题