我已经知道使用on(" click")来处理涉及将点击事件应用于动态创建的对象的情况。在这种情况下,我想点击一个按钮来选择另一个对象的文本。
<div class="main">
<div class="temp"><p></p></div>
<button class="degrees">Celsius</button>
</div>
这是我的HTML示例。基本上,当页面加载时,数据会动态添加到空段落中。我希望能够选择段落中的文本,并对其执行操作。该段落的文字将显示温度,我希望有一个切换摄氏度和华氏度的功能。
看到该网站正在运行答案 0 :(得分:0)
要将摄氏度转换为华氏度,您可以使用以下公式:
T(°F) = T(°C) × 1.8 + 32
要将华氏温度转换为摄氏温度,您可以使用以下公式:
T(°C) = (T(°F) - 32) / 1.8
此代码经过测试并在您的代码集上运行
$('.degrees').on('click', function() {
var currentDegree = parseInt($('.temp').text());
if($(this).text() == 'Celsius') {
var fahrenheit = currentDegree * 1.8 + 32;
$('.temp').text(fahrenheit);
$(this).text('Fahrenheit');
} else {
var celsius = (currentDegree - 32) / 1.8;
$('.temp').text(celsius);
$(this).text('Celsius');
}
});
答案 1 :(得分:0)
JQuery(document).on ("click", ".degrees", function () {
JQuery(".temp").html("30");
}
这应该将div标签的HTML更改为类.temp以读取&#34; 30&#34;任何时候你点击按钮。
答案 2 :(得分:0)
试试这个
$('.degrees').click(function(){
var range = document.createRange();
var selection = window.getSelection();
range.selectNodeContents(document.getElementById('select-text'));
selection.removeAllRanges();
selection.addRange(range);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
<div class="temp"><p id="select-text">Your dymic loaded data</p></div>
<button class="degrees">Celsius</button>
</div>