具有上下文抛出异常的选择器

时间:2018-11-16 01:01:41

标签: javascript jquery

当我尝试选择带有上下文的元素时,为什么jQuery会抛出此类异常。代码如下:

import math as m
import matplotlib.pyplot as plt
import numpy as np

def fermi_dirac(x):

    fermi_result = (1./(np.exp(x)+1))

    return fermi_result

def bose_einstein(x):

    bose_result = (1/(np.exp(x)-1))

    return bose_result

x = np.linspace( -2,3, 100)
fd = fermi_dirac(x)
be = bose_einstein(x)

plt.figure()
plt.plot(x, fd, label='fermi dirac')
plt.plot(x, be, label ='bose einstein')
plt.legend(loc='best')
plt.show()

不断抛出以下错误:

jQuery('b', "DAS<br/><br/><b>ID</b> = 02<br/><b>NAMA DAS</b> = CITARUM<br/><b>LUAS (KM2)</b> = 6644.90<br/><b>WILAYAH SUNGAI</b> = CITARUM<br/><b>KODE WS</b> = 02.06.A3<br/><b>WILAYAH ADMINISTRASI</b> = JAWA BARAT<br/><b>WILAYAH KERJA</b> = BBWS CITARUM");

1 个答案:

答案 0 :(得分:0)

来自the documentation

  

上下文
  类型:元素或jQuery
  用作上下文的DOM元素,文档或jQuery

问题是您不能使用字符串创建jQuery元素,因为它不是有效的html。

再次from the docs

  

jQuery(html [,ownerDocument])
  html
  类型:htmlString
  动态创建的HTML字符串。请注意,这将解析HTML,而不是XML。

您可以使用div元素包装内容,然后可以使用jquery从该元素提取数据。

let html = "<div>DAS<br/><br/><b>ID</b> = 02<br/><b>NAMA DAS</b> = CITARUM<br/><b>LUAS (KM2)</b> = 6644.90<br/><b>WILAYAH SUNGAI</b> = CITARUM<br/><b>KODE WS</b> = 02.06.A3<br/><b>WILAYAH ADMINISTRASI</b> = JAWA BARAT<br/><b>WILAYAH KERJA</b> = BBWS CITARUM</div>";
let elements = jQuery('b', jQuery(html));
console.log(elements);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

如果您无法“触摸”字符串-您只需添加带有简单字符串concat的wrap元素:

let content = "DAS<br/><br/><b>ID</b> = 02<br/><b>NAMA DAS</b> = CITARUM<br/><b>LUAS (KM2)</b> = 6644.90<br/><b>WILAYAH SUNGAI</b> = CITARUM<br/><b>KODE WS</b> = 02.06.A3<br/><b>WILAYAH ADMINISTRASI</b> = JAWA BARAT<br/><b>WILAYAH KERJA</b> = BBWS CITARUM";
let html = "<div>" + content + "</div>";
let elements = jQuery('b', jQuery(html));
console.log(elements);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>