更改 div 的内容 - jQuery

Posted

技术标签:

【中文标题】更改 div 的内容 - jQuery【英文标题】:Change content of div - jQuery 【发布时间】:2011-10-31 15:19:29 【问题描述】:

当点击其中一个 LINKS 时,如何更改此 div 的内容?

<div align="center" id="content-container">
    <a href="#" class="click cgreen">Main Balance</a>
    <a href="#" class="click cgreen">PayPal</a>
    <a href="#" class="click cgreen">AlertPay</a>
</div>

【问题讨论】:

类似问题可以参考:***.com/questions/1309452/… 【参考方案1】:

您可以订阅链接的 .click 事件并使用 .html 方法更改 div 的内容:

$('.click').click(function() 
    // get the contents of the link that was clicked
    var linkText = $(this).text();

    // replace the contents of the div with the link text
    $('#content-container').html(linkText);

    // cancel the default action of the link by returning false
    return false;
);

但是请注意,如果您替换此 div 的内容,您分配的点击处理程序将被销毁。如果您打算在需要附加事件处理程序的 div 中注入一些新的 DOM 元素,则应在插入新内容后在 .click 处理程序内执行此附件。如果保留了事件的原始选择器,您还可以查看 .delegate 方法来附加处理程序。

【讨论】:

我如何才能将同一页面上另一个 div 中的内容加载到 #content-container 中? @Oliver 'Oli' Jensen,像这样:$('#content-container').html($('#someOtherDivId').html()); 感谢上帝!我意识到#div 不能被 .val(); 改变。相反,我们应该使用 .html();使其工作的功能! :D @cuSK 谢谢 实时保护程序@DarinDimitrov【参考方案2】:

您需要在这里使用 2 个 jQuery 函数。

1)click。这将接受一个匿名函数作为它的唯一参数,并在单击元素时执行它。

2)html。这将采用一个 html 字符串作为它的唯一参数,并将您的元素的内容替换为提供的 html。

因此,在您的情况下,您需要执行以下操作:

$('#content-container a').click(function(e)
    $(this).parent().html('<a href="#">I\'m a new link</a>');
    e.preventDefault();
);

如果您只想添加内容到您的 div,而不是替换其中的所有内容,您应该使用append

$('#content-container a').click(function(e)
    $(this).parent().append('<a href="#">I\'m a new link</a>');
    e.preventDefault();
);

如果您希望新添加的链接在点击时也添加新内容,您应该使用event delegation:

$('#content-container').on('click', 'a', function(e)
    $(this).parent().append('<a href="#">I\'m a new link</a>');
    e.preventDefault();
);

【讨论】:

【参考方案3】:
$('a').click(function()
 $('#content-container').html('My content here :-)');
);

【讨论】:

【参考方案4】:

你也可以试试replacewith()

$('.click').click(function() 
    // get the contents of the link that was clicked
    var linkText = $(this).text();

    // replace the contents of the div with the link text
    $('#content-container').replaceWith(linkText);

    // cancel the default action of the link by returning false
    return false;
);

.replaceWith() 方法通过一次调用从 DOM 中删除内容并在其位置插入新内容。

【讨论】:

【参考方案5】:

尝试使用 jQuery 更改 div 的内容。

查看更多@Change content of div using jQuery

$(document).ready(function()
    $("#Textarea").keyup(function()
        // Getting the current value of textarea
        var currentText = $(this).val();

        // Setting the Div content
        $(".output").text(currentText);
    );
);

【讨论】:

【参考方案6】:

试试$('#score_here').html=total;

【讨论】:

以上是关于更改 div 的内容 - jQuery的主要内容,如果未能解决你的问题,请参考以下文章

更改 DIV 的内容

更改 div 内容的位置

如何使用复选框更改 div 的内容

清除和更改 div 的内容

更改 div 的内容 - jQuery

如何在使用 jquery 更改 div 内容时发出警报