2017-06-01 60 views
-3

我尝试使用jquery更改div框中的文本插入。这里是代码:

<div onClick="$(this span).text('My new Text');" class="switch switch-success" style="float: right;"> 
 
    <label> 
 
    <input type="checkbox"><span>Yes</span> 
 
    </label> 
 
</div>

我想改变这个 “是”, “否”。感谢您的帮助;)

+2

[jQuery的学习中心(https://learn.jquery.com) – Andreas

+0

请试一下。这是基本的DOM遍历。 – Xufox

+0

这必须是重复的问题... – evolutionxbox

回答

1

使用.find方法

见工作小提琴here

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div onClick="$(this).find('span').text('My new Text');" class="switch switch-success" style="float: right;"> 
 
    <label> 
 
    <input type="checkbox"><span>Yes</span> 
 
    </label> 
 
</div>

0

你有两个选择。

  1. this这是context

    $('span', this).text('My new Text'); 
    
  2. 第二参数获取this元素和使用find得到span它。

    $(this).find('span').text('My new Text'); 
    
0

请独立的结构,风格和功能 - 的CSS,HTML和JS不应该在同一个空间 - 它总是更好的代码更好的代码中分离quality.Also你可以做一个切换对于复选框的状态,以便在“已检查”和“未检查”状态中显示不同的文本。

你甚至可以做到这一点与CSS

$('.switch').click(function(){ 
 
    $(this).find('span').text('My new Text') 
 
})
.switch{float: right}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 

 
<div class="switch switch-success" > 
 
    <label> 
 
    <input type="checkbox"><span>Yes</span> 
 
    </label> 
 
</div>