我想知道html数据属性是否真的需要应用一个值?
我想知道这一点,因为我们通常想知道的是,该属性是否实际设置为一个标志.(确定我们可以为此使用一个类;但实际上除非你要以不同方式设置这些项的样式,否则标志比语义项更多的数据).
一个完美的例子是,如果我们想要一个链接滚动到它的目标而不是跳转我们的jQuery代码可能看起来像:
$(document).on('click', '[data-scroll-link'], function(){/**do scroll**/});
Run Code Online (Sandbox Code Playgroud)
我知道在Google Chrome中,锚点就足够了
<a href="#bottom" data-scroll-link>Scroll to bottom</a>
Run Code Online (Sandbox Code Playgroud)
但那会无处不在吗?它甚至是有效的HTML5(我相信这是由于自动对焦,自动播放等属性).或者我们需要:
<a href="#bottom" data-scroll-link="true">Scroll to bottom</a>
Run Code Online (Sandbox Code Playgroud) 我有一个布尔值设置为表单中的隐藏变量,我有下面的JavaScript.
$().ready(function() {
var flag = $('#popUpFlag').val();
alert("flag = "+flag);
if(flag){
alert("flag is true");
}else{
alert("flag is false");
}
})
Run Code Online (Sandbox Code Playgroud)
这些是警报的输出.
flag =
flag is false
flag = false
flag is false
flag = true
flag is false
Run Code Online (Sandbox Code Playgroud)
我担心的是第三项产出.当标志为真时,为什么打印"flag is false",而不是"flag is true".我在IE8和FF 4中测试过它
欢迎提出建议.
有没有改善以下语句来检查,如果一个更好的办法val()是'true'或'false',如果它是那么这将其更改为一个布尔值.原因是,某些值可能是一个单词.
var thisval = $(this).val();
if (thisval == "true"){
ao[id] = true;
} else if (thisval == "false"){
ao[id] = false;
} else {
ao[id] = $(this).val();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将字符串转换为布尔值.有几种方法可以做到这一点
let input = "true";
let boolVar = (input === 'true');
Run Code Online (Sandbox Code Playgroud)
这里的问题是我必须验证输入是真还是假.而不是验证第一个输入然后进行转换是否有更优雅的方式?在.NET中bool.TryParse,如果字符串无效,则返回false.打字稿中是否有相应的东西?
在localStorage中存储布尔值,此值将转换为字符串.现在尝试将此值从localStorage转换回布尔值,我需要使用JSON.parse()方法,更方便的!!不起作用.
代码示例:
var test = false;
localStorage['test'] = test;
console.log("JSON.parse returns: ", JSON.parse(localStorage['test']), "expected: ", test);
console.log("'!!' returns: ", !! localStorage['test'], "expected: ", test);
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么会这样做.任何解释?
PS:使用getter/setter localStorage方法在这里无所谓,结果相同.
由于某种原因,我的 AJAX POST 请求正在将我的numeric数据发送到我的服务器string...这是我的数据和 AJAX 请求:
var data = {
projectId: $("#projectId").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val(),
num_auto_tests: Number($("#num_auto_tests").val()),
num_manual_tests: Number($("#num_manual_tests").val()),
num_passed_tests: Number($("#num_passed_tests").val()),
num_failed_tests: Number($("#num_failed_tests").val()),
num_unran_tests: Number($("#num_unran_tests").val()),
test: 3
};
Run Code Online (Sandbox Code Playgroud)
AJAX 查询:
$.ajax({
type: "POST",
dataType: "json",
url: "/addreport/+ data.projectId",
data: data,
success: function() {
console.log('success');
}
});
console.log(typeof(data.num_auto_tests)); //returns `number`
Run Code Online (Sandbox Code Playgroud)
服务器端返回:
{ projectId: 'FDIC-88445',
startDate: '',
endDate: '',
num_auto_tests: '3',
num_manual_tests: '3',
num_passed_tests: '3',
num_failed_tests: '3',
num_unran_tests: '3',
test: '3' }
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,应该是数字的值在服务器端都是字符串......
有谁知道发生了什么事吗?
提前致谢!
alert(x)是假的.但由于某种原因,它不会进入if语句?有任何想法吗?
HTML
@{bool x = false;
foreach (var c in Model.Cleaner.TimeConfirmations.Where(l => l.date.ToShortDateString() == DateTime.Now.ToShortDateString() || l.date.ToShortDateString() == DateTime.Now.AddDays(1).ToShortDateString()))
{
x = true;
}
<span class="ifAvailable" data-confirmationchecker="@x" value="15">@x</span>
}
Run Code Online (Sandbox Code Playgroud)
jQuery的
var x = $(".ifAvailable").data('confirmationchecker')
alert(x);
if ( x == false) {
alert("hi")
}
Run Code Online (Sandbox Code Playgroud) 我最近在与 Javascript 相关的StackOverflow 问题中遇到了术语“内在(数据)类型”,但并没有清楚地传达该术语的含义。
所以问题是。Javascript 中的内在(数据)类型是什么?
我正在使用Page_ClientValidate进行验证.
即使没有无效输入,它也会返回false.
function PageValid() {
var valid = Page_ClientValidate('save');
alert(valid);
if (valid == true) {
$('.mydiv').hide();
}
}
Run Code Online (Sandbox Code Playgroud)
这里的"保存"是验证组.请帮帮我们.
谢谢,Rajbir
javascript ×9
html5 ×2
ajax ×1
asp.net ×1
asp.net-mvc ×1
boolean ×1
c# ×1
html ×1
jquery ×1
numbers ×1
string ×1
typescript ×1