在跨度中设置文本

时间:2012-11-21 12:11:32

标签: jquery

我有这个范围

<a title="Prev" data-event="click" 
   data-handler="prev" class="ui-datepicker-prev   ui-corner-all">
     <span class="ui-icon ui-icon-circle-triangle-w">Prev</span>
</a>

我需要将范围的文本设置为<<而不是当前文本Prev

我在下面尝试了这个,但它没有像我预期的那样改变文本。怎么办呢?

 $(".ui-icon .ui-icon-circle-triangle-w").html('<<');

6 个答案:

答案 0 :(得分:132)

改为使用.text(),然后更改您的选择器:

$(".ui-datepicker-prev .ui-icon.ui-icon-circle-triangle-w").text('<<');

<强> -- VIEW DEMO --

答案 1 :(得分:13)

这是因为你有错误的选择器。根据您的标记,.ui-icon.ui-icon-circle-triangle-w"应指向相同的<span>元素。所以你应该使用:

$(".ui-icon.ui-icon-circle-triangle-w").html("<<");

$(".ui-datepicker-prev .ui-icon").html("<<");

$(".ui-datepicker-prev span").html("<<");

答案 2 :(得分:5)

您需要修复选择器。虽然CSS语法要求多个类是空格分隔的,但选择器语法要求它们直接连接,并以点为前缀:

$(".ui-icon.ui-icon-circle-triangle-w").text(...);

或更好:

$(".ui-datepicker-prev > span").text(...);

答案 3 :(得分:4)

$('.ui-icon-circle-triangle-w').text('<<');

答案 4 :(得分:2)

为您的范围提供ID,然后更改目标范围的文本。

$("#StatusTitle").text("Info");
$("#StatusTitleIcon").removeClass("fa-exclamation").addClass("fa-info-circle"); 

<i id="StatusTitleIcon" class="fa fa-exclamation fa-fw"></i>
<span id="StatusTitle">Error</span>

此处“错误”文字将变为“信息”,他们的fontawesome图标也将被更改。

答案 5 :(得分:2)

试试吧.. 它将首先查找包含类“ui-icon-circle-triangle-w”的span的锚标记,然后将span的文本设置为“&lt;&lt;”。

$('a span.ui-icon-circle-triangle-w').text('<<');