代码在jsfiddle中工作,但在本地服务器中不起作用

时间:2012-08-14 08:53:42

标签: php javascript jquery html jsfiddle

请帮我解决这个问题......

我有一个代码http://jsfiddle.net/LTYa2/14/的链接,它在jsfiddle中工作得很好......但如果我在localhost中放入相同的东西它没有任何特定的原因?我还检查了javascripts和jquery一切都正确嵌入(其他jsfiddle代码工作正常)......

任何人都可以指导我如何放置此代码

$('q.clickMe1').click(function () {
// find first of following DIV siblings
// with class "textBox" and toggle it

$(this).nextAll('div.sri1:first').show();
$('div.sri1:visible').not($(this).nextAll('div.sri1:first')).toggle();
});

html代码

<q class="clickMe1">Hire</q>
<br />
<div class="sri1"> - This text will be toggled</div>

 <q class="clickMe1">Manage</q>
 <br />
 <div class="sri1"> - This text will be toggled 2</div>

1 个答案:

答案 0 :(得分:3)

jsFiddle默认将代码包装在onload中,这就是它工作的原因。 Here因为我禁用了onload包装而无法正常工作。

为了让它适合你,请将它包装成:

$(document).ready(function() {
    $('q.clickMe1').click(function () {
        // find first of following DIV siblings
        // with class "textBox" and toggle it
        $(this).nextAll('div.sri1:first').show();
        $('div.sri1:visible').not($(this).nextAll('div.sri1:first')).toggle();
    });
});

假设你使用的是jQuery 1.7或更高版本,你可以避免这种包装并使用.on()代替:

$(document).on('click', 'q.clickMe1', function () {
    //...your code here
});

Updated fiddle - 没有上传但仍在工作。