tab-position 是2才有的,1.4.9沒有
redirect 這不是重定向嗎,你看下后端返回的http頭部的Location頭部
^
匹配字符串的開始,匹配一個位置;$
匹配字符串的結束,匹配一個位置;/^[a-zA-Z0-9]+$/
的意思就是首先要匹配字符串開始,然后是1到多個字母或者數字,然后是字符串的結束,總結一下就是整個字符串就是由1到多個字母和數字組成的。
你可以使用字符串的match
方法進一步查看匹配的情況,test
只會返回true
或者false
,并不提供匹配的具體的字符串:
let reg1=/[a-zA-Z0-9]+/g;
let reg2=/^[a-zA-Z0-9]+$/g;
'13232-3213'.match(reg1) // ["13232", "3213"]
'423432432'.match(reg1) // ["423432432"]
'13232-3213'.match(reg2) // null
'423432432'.match(reg2) // ["423432432"]
你可以對一個對象用res[i].children
來指定他的屬性的值,但是不能用res[i].children[j]
來指定一個不存在的數組的索引.
const copyArr = function (arr) {
const res = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i].children) {
res[i] = { name: arr[i].name ,children:[]}; //這里先定義children
for (let j = 0; j < arr[i].children.length; j++) {
res[i].children[j] = [{
name: arr[i].children[j].name,
}];
}
copyArr(arr[i].children);
} else {
res[i] = { name: arr[i].name };
}
}
return res;
};
補充:如果需要正確遞歸處理的話,直接將children取為遞歸返回的數組即可
copyArr = function (arr) {
let res = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i].children) {
res[i] = { name: arr[i].name ,children:copyArr(arr[i].children)}; //這里先定義children
} else {
res[i] = { name: arr[i].name };
}
}
return res;
};
在你原來的基礎上改了一點點
<form>
請選擇你愛好:
<br>
<input type="checkbox" name="hobby" id="hobby1"> 音樂
<input type="checkbox" name="hobby" id="hobby2"> 登山
<input type="checkbox" name="hobby" id="hobby3"> 游泳
<input type="checkbox" name="hobby" id="hobby4"> 閱讀
<input type="checkbox" name="hobby" id="hobby5"> 打球
<input type="checkbox" name="hobby" id="hobby6"> 跑步
<br>
<input type="button" value="全選" onclick="checkall();">
<input type="button" value="全不選" onclick="clearall();">
<p>請輸入您要選擇愛好的序號,序號為1-6:</p>
<input id="wb" name="wb" type="text">
<input name="ok" type="button" value="確定" onclick="checkone();">
</form>
<script type="text/javascript">
function checkall() {
//全選
var hobby = document.getElementsByTagName("input");
for (var i = 0; i < hobby.length; i++) {
if (hobby[i].type == "checkbox") {
hobby[i].checked = true;
}
}
}
function clearall() {
// 全不選
var hobby = document.getElementsByName("hobby");
for (var i = 0; i < hobby.length; i++) {
if (hobby[i].checked == true) {
hobby[i].checked = false;
}
}
}
function checkone() {
//選一個
var j = document.getElementById("wb").value;
var hobby = document.getElementsByName('hobby');
if (j <= 0 || j > 6) {
alert("請輸入正確的數字!");
} else
if (autoCheck("hobby", 3, 'checkone')) {
hobby[j - 1].checked = true;
}
}
// 輸入時 限制單個選中的最大個數
function autoCheck(name, limit, type) {
var hobby = document.getElementsByName(name);
if (type == 'checkone') {
var num = 1;
} else {
var num = 0;
}
for (var i = 0; i < hobby.length; i++) {
if (hobby[i].checked) {
num++
}
}
console.log(num)
if (num <= limit) {
return true;
} else {
alert('超限了親')
return false;
}
}
// 直接選擇時限制單個選中的最大個數
function sigleCheck() {
var hobby = document.getElementsByName('hobby');
if (autoCheck("hobby", 3)) {
for (var i = 0; i < hobby.length; i++) {
hobby[i].onclick = function (e) {
if (autoCheck("hobby", 3, 'sigleCheck')) {
e.target.checked = true;
} else {
e.target.checked = false;
}
}
}
}
}
sigleCheck()
</script>
</body>
為什么默認標簽這么大
time
中的時間都是前綴了0的,所以可以直接用 time
來進行字符串比較大小
const data = [
{ id: 1, time: "2018-07-04 00:04:12" },
{ id: 2, time: "2018-07-04 00:14:12" },
{ id: 3, time: "2018-07-04 00:04:12" },
{ id: 4, time: "2018-07-04 00:00:12" },
{ id: 5, time: "2018-07-04 00:04:02" },
{ id: 6, time: "2018-07-04 00:24:52" },
{ id: 7, time: "2018-07-04 01:04:12" },
{ id: 8, time: "2018-07-04 05:04:12" },
{ id: 9, time: "2018-07-04 07:04:12" },
{ id: 10, time: "2018-07-04 00:00:00" },
]
const max = data
.reduce((max, m) => {
return max.time > m.time ? max : m;
});
console.log(max);
發(fā)請求自動帶上的
mdn cookie
防止XSRF最好的方式是使用CSRF-token。
cookie一般用于保存信息,你向同一個服務器發(fā)請求時會帶上瀏覽器保存的對于那個服務器的cookie,而不管你從哪個網站發(fā)請求。
所以后端需要設置Access-Control-Allow-Origin
,瀏覽器會看你的訪問網站是否是被允許的域,如果允許就發(fā)請求并能獲得數據,如果不受允許那么能發(fā)請求但是js腳本無法獲取返回的數據(你仍然能在NetWork中看到返回)。
可以看下這篇文章
data url的格式是:data:[<mediatype>][;base64],<data>
,所以存視頻可以這樣:
data:video/mp4;base64,3bvwAA...
data:video/webm;base64,3bvwAA....
...
video/mp4
、video/webm
這些就是視頻格式的mime。
如果不存data url格式,可以直接把base64編碼后的數據(就是上面的data)存起來就可以了。
當然,存原始數據,輸出的時候轉base64編碼可能更好。
官網例子 x軸y軸倒一下
http://echarts.baidu.com/exam...
加個import
$(function(){})
這個去掉
應該是跳到別的頁面 組件注銷了 回來的時候重新生成dom 但是你這個$(function(){})
是頁面加載完畢觸發(fā) 只加載一次
是自動加載還是手動加載?看樣子應該是自動加載的同時渲染數據而卡掉吧,我覺得可以到第九張圖的時候,渲染新圖前,把 autoplay 改為 false,應該就行了吧。
看日志唄,找到崩潰的原因
lz解決了這個問題么?
在index.html下通過<script>引入。文件包要放在public下
html textarea 按照題主給的寫法也是有兼容問題的,html 和 小程序 里 textarea 換行最好用 html 和 js 模擬 placeholder,寫個 label 置個灰,input 時 display none 之類的。
現(xiàn)成的例子可以參考下 QQ 郵箱 PC WEB 登錄頁。
可能是密碼錯了吧。你直接輸入https://eclipse.tmatesoft.com/,看可以登錄嗎?
這個我查了一下沒有相關資料
我很好奇什么樣的業(yè)務場景和產品需求
導致你需要獲取點擊順序?
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數據專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯(lián)網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。