小编jse*_*ksn的帖子

document.getElementById('').src == ??? (等于失败)

我的javascript是

function changeImage(imgID) {
var baseurl = "media/images/";
if (document.getElementById(imgID).src == baseurl+"selection-off.png") {
    alert('Success');
    document.getElementById(imgID).src = baseurl+"selection-no.png"; }
else {
    alert('Fail'); } }
Run Code Online (Sandbox Code Playgroud)

我的HTML是

<div id="mustard" class="checkbox"><img id="mustard-img" class="no-off" src="media/images/selection-off.png" alt="checkbox" onClick="changeImage('mustard-img')" /></div>
Run Code Online (Sandbox Code Playgroud)

点击图片时我总是失败.我必须错过一些非常基本的东西.

javascript

5
推荐指数
1
解决办法
2万
查看次数

使用OS X bash将剪贴板中的sha1校验和与本地文件的sha1进行比较的最快方法

我想也许它正在结合shasumdiff与管道或其他东西......

我想知道将从网站复制到我的剪贴板的sha1校验和与我从同一站点下载的本地文件的sha1校验和进行比较以验证其完整性的最快方法.

例如,我94f7ee8a067ac57c6d35523d99d1f0097f8dc5ccRaspberry Pi NOOBS下载页面的剪贴板中有sha1字符串,我想NOOBS_v1_9_0.zip使用终端应用程序将其与文件的校验和进行比较,我不想创建一个新的文件来自剪贴板内容.

我认为这是bash 3.2(它是OS X 10.11.4)

macos bash clipboard checksum

4
推荐指数
1
解决办法
1287
查看次数

Joi 验证两个模式之一

我有一个简单的对象,其中有几个我想验证的字段。我希望允许特定的验证模式或所有属性都有空值

我创建了以下两个架构:

 const nonEmptyUserInfoValidationSchema = Joi.object({
    url: Joi.string().uri().required(),
    username: Joi.string().required().min(usernameMinLength),
    password: Joi.string().required().min(passwordMinLength),
});

const emptyUserInfoValidationSchema = Joi.object({
    url: Joi.string().empty().required(),
    username: Joi.string().empty().required(),
    password: Joi.string().empty().required(),
});
Run Code Online (Sandbox Code Playgroud)

我希望创建验证是否应用emptyUserInfoValidationSchema或 的架构nonEmptyUserInfoValidationSchema,但我不知道该怎么做,有什么建议吗?

允许:

{url:"http://some.url", username:"some username", password:"some password"}
{url:"", username:"", password:""}
Run Code Online (Sandbox Code Playgroud)

不允许:

{url:"http://some.url",  username:"", password:""}
Run Code Online (Sandbox Code Playgroud)

javascript typescript joi

4
推荐指数
1
解决办法
3661
查看次数

bash:???:找不到命令

我在 OS X 10.11.4 上的终端应用程序中使用 bash 3.2。

我的文件中有这一行.bashrcalias ll='ls -alFh'

我跑去echo ll > test && chmod +x test创建一个test可执行文件。以下是运行多个命令的结果、它们的退出代码(通过echo $?)和stdout

  1. test
    退出代码 1
    不产生标准输出

  2. ./test
    退出代码 127
    产生./test: line 1: ll: command not found

  3. . test
    退出代码 127
    产生-bash: ????: command not found

  4. . ./test
    退出代码 0
    产生与手动运行相同的结果ll

我知道退出代码 1 是一般错误,退出代码 127 意味着shell 无法找到该命令。有人可以解释一下每种情况下发生的情况以及原因吗,包括标准输出的描述?我对 #3 与????.

macos bash shell executable

3
推荐指数
1
解决办法
1640
查看次数

如何修复 Deno 程序中 std 模块依赖的编译器错误?

我知道有一个问题有同样的错误,但那里的答案对我没有帮助:deno 捆绑失败。类型“ReadableStream<R>”上不存在属性“getIterator”

\n

这是完整的错误:

\n

\xe2\x9d\xaf deno run --allow-all server.ts\n检查文件:///Users/hagenek/repos/mock-backend/server.ts\n错误:TS2339 [错误]:属性\'getIterator\'类型 \'ReadableStream\' 上不存在。\nreturn res.read.getIterator();\n~~~~~~~~~~~~\nat https://deno.land/std@0.83.0/异步/pool.ts:45:23

\n

这是我的 server.ts 代码:

\n
import { Application } from "./deps.ts";\nimport router from "./routes.ts"\nconst PORT = 4000;\nconst app = new Application();\n\napp.use(router.routes()); // Pass our router as a middleware\napp.use(router.allowedMethods()); // Allow HTTP methods on router\n\nawait app.listen({ port: PORT });\nconsole.log(`Server running on PORT: ${PORT}`)\n
Run Code Online (Sandbox Code Playgroud)\n

路线.ts:

\n
import { Router } from "https://deno.land/x/oak/mod.ts";\nimport {\n    addQuote,\n    getQuotes,\n    getQuote,\n    updateQuote,\n    deleteQuote,\n} from "./controllers/controller.ts";\n\ninterface ReadableStream<R> {\n    getIterator(): any\n}\n\nconst router …
Run Code Online (Sandbox Code Playgroud)

dependencies deno

3
推荐指数
1
解决办法
1166
查看次数

TypeScript 中的泛型类型参数 T 是什么?

浏览 TS 手册。\n https://www.typescriptlang.org/docs/handbook/2/functions.html

\n
\n

在 TypeScript 中,当我们想要描述两个值之间的对应关系时,就会使用泛型。我们通过在函数签名中声明类型\n参数来实现此目的:

\n
\n
function firstElement<Type>(arr: Type[]): Type | undefined {\n  return arr[0];\n}\n
Run Code Online (Sandbox Code Playgroud)\n
\n

通过向该函数添加类型参数 Type 并在两个地方使用它,我们\xe2\x80\x99 在函数的输入(数组)和输出(返回值)之间创建了一个链接。现在,当我们调用它时,会出现更具体的类型:

\n
\n

在这种情况下是Type一个关键字?当我看到T那是同一件事吗?

\n

我对这一部分的理解正确吗?通过添加,我们告诉 Typescript 将输入的任何类型分配给输出?

\n

generics typescript

1
推荐指数
1
解决办法
5642
查看次数

寻找一种模式来使 Recoil 中的状态正常化,同时又不失去 Suspense 的优势

在 RecoilJS 中,与异步选择器的 React Suspense 无缝集成是一个很大的优势。然而,我在尝试标准化 Recoil 中缓存的数据时遇到了问题,同时仍然使用 Suspense。

为了通过示例解释该问题,用户可能有一组书籍。查询通过单个 API 调用填充集合,以获取所有用户的“最喜欢的”书籍。稍后的查询可能只请求一本书籍,该书可能已经或可能尚未通过最喜欢的书籍查询检索到。

我想要做的就是维护图书的规范化缓存,例如在由 bookId 键控的 AtomFamily 中,这样我就不会拥有使用不同查询提取的两本图书副本。但是,我遇到了一个问题,即我想对检索一本或多本书的任何一个查询使用 Suspense。使用 Recoil 来实现这一点的自然方法是使用异步选择器。但我不认为是否有一种方法可以标准化通过异步选择器获取的数据。

是否存在我忽略的模式,它允许我使用代表由共享的标准化 AtomFamily 支持的不同查询的异步选择器?

例如,如果我有这个 BAD 代码,它在我的状态中创建了重复的对象,那么我如何重新编写它以维护实际 Book 对象的共享缓存,并且如果当某个组件仍在获取查询时仍然使用 Suspense使用这个状态渲染?

查询1:通过选择器获取一组书籍:

const favoriteBooksSelector = selector({
  key: 'MyFavoriteBooks',
  get: async ({ get }) => {
    const response = await allMyFavorityBooksDBQuery({
      userID: get(currentUserIDState)
    });
    return response.books;
  },
});
Run Code Online (Sandbox Code Playgroud)

查询 2:获取一本书,看起来像:

  export const singleBookSelector = selectorFamily({
    key: 'singleBookSelector',
    get: (bookId: string) => async ({ get }) => {
        const response = await singleBookDBQuery({
            userID: …
Run Code Online (Sandbox Code Playgroud)

javascript recoiljs

1
推荐指数
1
解决办法
1436
查看次数

从字符串中删除下划线

我不小心在这篇文章上使用了在线工具

\n

h\xcc\xb2t\xcc\xb2t\xcc\xb2p\xcc\xb2:\xcc\xb2/\xcc\xb2/\xcc\xb2f\xcc\xb2i\xcc\xb2d\xcc\xb2d\xcc\xb2l\xcc \xb2e\xcc\xb2.\xcc\xb2j\xcc\xb2s\xcc\xb2h\xcc\xb2e\xcc\xb2l\xcc\xb2l\xcc\xb2.\xcc\xb2n\xcc\xb2e\xcc\xb2t\xcc \xb2/\xcc\xb2G\xcc\xb2S\xcc\xb2S\xcc\xb2C\xcc\xb2D\xcc\xb2/\xcc\xb22\xcc\xb20\xcc\xb23\xcc\xb2/\xcc\xb2/ \xcc\xb2s\xcc\xb2h\xcc\xb2o\xcc\xb2w\xcc\xb2/\xcc\xb2"\xcc\xb2 \xcc\xb2-\xcc\xb2H\xcc\xb2 \xcc\xb2"\xcc \xb2R\xcc\xb2e\xcc\xb2f\xcc\xb2e\xcc\xb2r\xcc\xb2e\xcc\xb2r\xcc\xb2:\xcc\xb2\xcc\xb2h\xcc\xb2t\xcc\xb2t\xcc\ xb2p\xcc\xb2:\xcc\xb2/\xcc\xb2/\xcc\xb2f\xcc\xb2i\xcc\xb2d\xcc\xb2d\xcc\xb2l\xcc\xb2e\xcc\xb2.\xcc\xb2j\ xcc\xb2s\xcc\xb2h\xcc\xb2e\xcc\xb2l\xcc\xb2l\xcc\xb2。\xcc\xb2n\xcc\xb2e\xcc\xb2t\xcc\xb2/\xcc\xb2G\xcc\xb2S\ xcc\xb2S\xcc\xb2C\xcc\xb2D\xcc\xb2/\xcc\xb22\xcc\xb20\xcc\xb23\xcc\xb2/\xcc\xb2/\xcc\xb2"\xcc\xb2\xcc\ xb2-\xcc\xb2-\xcc\xb2o\xcc\xb2u\xcc\xb2t\xcc\xb2p\xcc\xb2u\xcc\xb2t\xcc\xb2\xcc\xb2"\xcc\xb2f\xcc\xb2i\xcc \xb2d\xcc\xb2d\xcc\xb2l\xcc\xb2e\xcc\xb2。\xcc\xb2h\xcc\xb2t\xcc\xb2m\xcc\xb2l\xcc\xb2

\n

现在下划线似乎与字母一起烘焙了。

\n

有没有办法轻松删除它?\nTe 下划线很好地粘在文本上......

\n

通过众多在线转换器复制文本,然后将文本放入通常对 Markdown 不屑一顾的文本字段中

\n

javascript string

1
推荐指数
1
解决办法
79
查看次数