无法在jquery中设置两个div文本

时间:2017-01-05 09:25:34

标签: jquery html

我显然对jquery很陌生,所以我会很感激应该对简单的东西有所帮助。我有以下网页

<html><body>
<div id="mytitle1">Hello</div>
<p/>
<div id="mytitle2">World</div>
</body></html>

这很好。但是如果我尝试按如下方式在jquery中设置值,则只渲染第一个div。当我调试时,我看到两个div都被设置但第二个被删除了#39;来自渲染的html页面。 (渲染后检查页面我只看到第一个div)。

<body>
<div id="title1" />
<p />
<div id="title2" />

<script type="text/javascript">
    $(showtitle);

    function showtitle() {
        $("#title1").text("Hello");
        $("#title2").text("World"); };

是什么给出了?

2 个答案:

答案 0 :(得分:3)

调用该函数的语法不正确。您当前正在将函数引用放在jQuery对象中,而只是想通过在其名称后放置()来调用它。

您还需要将代码包装在document.ready事件处理程序中,以确保它仅在DOM中的#titleX元素可用时运行。试试这个:

&#13;
&#13;
$(function() {
  showtitle()

  function showtitle() {
    $("#title1").text("Hello");
    $("#title2").text("World");
  };
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="title1"></div>
<p></p>
<div id="title2"></div>
&#13;
&#13;
&#13;

另请注意,<div><p>元素不是自动关闭的,您需要添加单独的</div></p>来关闭它们,如上例所示。

答案 1 :(得分:1)

您的HTML出错。你没有关闭div。你必须在两个div上使用结束标记。例如:</div>
另外,没有</p>之类的东西。 <p>标记用于wrtinig段落,并且应该打开一个结束标记。

在这里试试这段代码(它对我有用):

<div id="title1"></div>
<div id="title2" ></div>

<script type="text/javascript">
    $(showtitle);

    function showtitle() {
        $("#title1").text("Hello");
        $("#title2").text("World"); 
    };
</script>