2016-01-20 93 views
2
$('#modal').append('<input type="hidden" value="' + $('#selector').val() || myVar + '">'); 

什麼會導致我上面的append不起作用?在它的下一行,我做append("test"),它的工作。我的控制檯中沒有錯誤。jQuery追加不按預期工作

回答

3

您需要使用括號,這樣or操作符纔會考慮附加到$('#selector').val()而不是input。試試這個:

$('#modal').append('<input type="hidden" value="' + ($('#selector').val() || myVar) + '">'); 
+0

下面是操作的Javascript爲了一個有用的資源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence正如你可以看到||和&&低於+, - ,*和/。 – VKK

+0

哇它的工作,但爲什麼? –

0

創建input和值分開,然後調用append?

var inputValue = $('#selector').val() || myVar; 
var $input = $("<input>", {"type": "hidden", "value": inputValue }); 
$('#modal').append($input);