在一行中为同一值分配两个不同选择器的两个不同属性?

时间:2018-07-27 12:08:19

标签: javascript jquery

我在jQuery中有这段代码

var TotalPrice = 23;

$('#prv-selected-case-price').text($(TotalPrice).text());
$('input[name="total-price"]').val($(TotalPrice).text());

它们具有同等的重复性,将一个变量的值添加到HTML标记中,将另一个变量的值添加到另一个标记中。可以一行完成吗?

id.text and input.val = TotalPrice.text?

3 个答案:

答案 0 :(得分:1)

我不确定您为什么要这么做-为清楚起见,不建议这样做,但是可以。至少先保存该值

var totalPrice = $("#TotalPrice").text(); // assuming <span id="TotalPrice">23</span>

$('#prv-selected-case-price')[0].innerText = 
  $('input[name="total-price"]')[0].value=totalPrice;

如果必须嵌套,请明确说明:

$('#prv-selected-case-price').text(
   $('input[name="total-price"]').val(totalPrice).val()
);

或者只使用一个总价输入,或者不使用jQuery:

var totalPrice = document.querySelector("#TotalPrice").textContent;

document.querySelector('#prv-selected-case-price').innerText = 
  document.querySelector('input[name="total-price"]').value=totalPrice;

答案 1 :(得分:0)

当然可以

var TotalPrice = "#myEle";

$('#prv-selected-case-price').text($('input[name="total-price"]').val($(TotalPrice).text()).val());

答案 2 :(得分:0)

如果您真的想写一行,可以写:

$('#prv-selected-case-price').text($('input[name="total-price"]').val(TotalPrice).val());