75

我有这个跨度

<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('<<');
4

6 回答 6

144

改用.text(),并更改您的选择器:

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

-- 查看演示 --

于 2012-11-21T12:12:57.473 回答
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("<<");
于 2012-11-21T12:12:47.810 回答
5

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

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

或更好:

$(".ui-datepicker-prev > span").text(...);
于 2012-11-21T12:13:11.437 回答
4
$('.ui-icon-circle-triangle-w').text('<<');
于 2012-11-21T12:13:08.043 回答
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>

在这里,“错误”文本将变为“信息”,并且它们的字体图标也将被更改。

于 2013-11-04T00:14:37.550 回答
2

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

$('a span.ui-icon-circle-triangle-w').text('<<');
于 2016-01-14T10:07:32.110 回答