0

我正在尝试使用 jQuery 更改我的一个标题中的文本,但它只是将标题留空。我怎样才能让它工作?

编辑:

带有标题的html页面:

<!-- Logs -->
    <div data-role="page" data-theme="a" id="page15">
        <div data-theme="a" data-role="header">
            <h3>
                Logs
            </h3>
            <a data-role="button" data-direction="reverse" data-transition="slide" href="#page3" data-icon="arrow-l" data-iconpos="left" class="ui-btn-left">
                Back
            </a>
        </div>
        <div data-role="content" style="padding: 15px">
            <a data-role="button" data-transition="slide" href="#page1">
                Add log entry
            </a>
            <div data-role="collapsible-set" data-theme="" data-content-theme="">
                <div data-role="collapsible" data-collapsed="true">
                    <h3>
                        July 2012
                    </h3>
                    <div data-role="collapsible-set" data-theme="" data-content-theme="">
                        <div data-role="collapsible" data-collapsed="true" onclick="getLogTime(); this.onclick=null">
                            <h3>
                                July 5
                            </h3>
                            <div data-role="collapsible-set" data-theme="" data-content-theme="">
                                <div data-role="collapsible" data-collapsed="true" onclick="getLogData(); this.onclick=null">
                                    //Heading I'm trying to change
                                    <h3 id=time1>
                                    </h3>
                                    <div>
                                        <p id="logFortime1">
                                        </p>
                                    </div>
                                </div>
                                <div data-role="collapsible" data-collapsed="true">
                                    <h3>
                                        12:47 pm
                                    </h3>
                                </div>
                            </div>
                        </div>
                        <div data-role="collapsible" data-collapsed="true">
                            <h3>
                                July 6
                            </h3>
                        </div>
                    </div>
                </div>
                <div data-role="collapsible" data-collapsed="true">
                    <h3>
                        August 2012
                    </h3>
                </div>
            </div>
            <a data-role="button" data-transition="slide" href="#page21">
                Graphs
            </a>
        </div>
    </div>

应该改变标题的功能:

function getLogTime() {
$('#time1').text('Time')
}

编辑:

添加了一个 =,因此标题中的文本现在发生了变化,但它失去了所有样式和可折叠菜单中的内容。

4

2 回答 2

1

您应该使用标签名称或 ID(首选)。不要组合多个选择器(特别是因为您在任何时候都不应该在 DOM 中拥有多个 ID)。html() 方法比 text() 方法快得多(请参阅http://jsperf.com/jq2-text-vs-html),但从语义上讲, text() 更合适。在执行任何代码(对于 DOM)之前,确保 DOM 已加载。以下是最快的,应该可以工作。

$(function(){
  $("#time1").html("Time");
});
于 2012-07-31T19:13:27.107 回答
0

为什么不使用纯 jQuery 解决方案?您可以简单地以这种方式使用 jQuery,而不是在可点击元素上提供 onclick 属性。

HTML:

<h3 id="time1">Deepak</h3>
<a id='changeheading'>click</a>

JavaScript/jQuery :

$(document).ready(function(){
$('#changeheading').on("click",function(){    
$('#time1').text('Time');
});
});​

它工作得很好。在此处查看演示http://jsfiddle.net/DeepakKamat/b9ggb/25/

于 2012-11-08T07:25:36.437 回答