jQuery语法问题

时间:2011-07-13 08:40:30

标签: javascript jquery

这是我的简单功能,我有

<p>This is paragraph 1.</p>
像这样,但这个功能不起作用?这有什么不对?

function select(){
    $('p')[0].innerHTML="Helooo!!";
}

3 个答案:

答案 0 :(得分:1)

HTML:

<p>This is paragraph 1.</p>
<p>This is paragraph 2.</p>
<p>This is paragraph 3.</p>
<p>This is paragraph 4.</p>
<p>This is paragraph 5.</p>
<p>This is paragraph 6.</p>

jQuery的:

$('p:eq(0)').html("Helooo!!");

我建议这样做,因为如果有必要的话,很容易将其更改为申请更多元素。

答案 1 :(得分:1)

该功能没有任何问题(好吧,它至少起作用),问题就在于你如何称呼它。

当您从button元素中的事件调用该函数时,将使用button元素作为范围执行代码。 button元素也有select方法,因此当您尝试调用select函数时,将调用元素中的方法。

您可以将函数重命名为与元素中的方法不冲突的内容:

<input type="button" value="Select" onclick="selectClick()">

或者您可以使用window对象指定您要使用全局函数而不是为元素定义的函数:

<input type="button" value="Select" onclick="window.select()">

(我会推荐前一种选择。)

请注意,innerHTML属性实际上是非标准的(直到HTML 5),因此您应该在jQuery中使用html方法:

function selectClick() {
  $('p:first').html("Helooo!!");
}

或者,如果您只是在段落中添加纯文本,请使用text方法:

function selectClick() {
  $('p:first').text("Helooo!!");
}

答案 2 :(得分:0)

试试这个

function select(){
   $('p:first').text("Helooo!!");
}

function select(){
   $('p').eq(0).text("Helooo!!")
}