0

在构建选择器时,我希望有一个空间来指示要在由两个类定义的元素中找到一个类。我确信我在其他地方使用过这种语法。

但这次我得到:

错误:语法错误,无法识别的表达式:" [Break On This Error] throw new Error("
语法错误,无法识别的表达式:" + msg );

这是选择器:

tag = $(".m_3.current_Status .smoothie_Text").prop("tagName");

如果我删除 .smoothie_Text 之前的空格,语法错误就会消失,但显然标签是未定义的,因为它找不到。

编辑

<td class="m_1 current_Status" style="background-color: rgb(255, 127, 0); color: rgb(255, 255, 255);">
<div class="smoothie hasSVG">
<input class="smoothie_Text" type="hidden" value="Super Power">
<svg version="1.1" stroke-width="0.501" stroke-linejoin="bevel" fill-rule="evenodd" overflow="visible" width="10" height="10" viewBox="0 0 236.25 225">
</div>
</td>

*编辑 - 解决方案(#2 缩短)*

注意 - 最后我没有使用逗号分隔的方法。我不能确定为什么以前尝试在由空格分隔的类组中失败,但是,我怀疑提交的选择是用引号引起来的。

$(".smoothie").on("mouseover", function(event) {

    var containerElements = $(event.target).parentsUntil($("tr").parent())
         .map(function () { 
             return this.className; 
         })
         .get().join(",");

    containerArray = containerElements.split(",");
    row_Class = containerArray.pop();
    row_Classes = row_Class.split(" ");
    container_Class = containerArray.pop();
    container_Classes = container_Class.split(" ");

    var offset = $(event.target).offset();

    value = $("." + row_Classes[0] + "." + row_Classes[1] + " ." + container_Classes[0] + "." + container_Classes[1] + " .smoothie_Text").attr("value");

    $("#flavour_Text").html("<a>" + value + "</a>");
    $("#flavour_Text").css("top", offset.top);
    $("#flavour_Text").css("left", offset.left);
    $("#flavour_Text").css("width", (value.length * 0.6) + "em")
    $("#flavour_Text").css("display","block");

    // this dsiplays all. Needs refinement

}).svg({loadURL: '../_public/_icons/smoothie.svg'});   

$(".smoothie").on("mouseout", function(event) {
    $("#flavour_Text").html("");
    $("#flavour_Text").css("display","none");
}).svg({loadURL: '../_public/_icons/smoothie.svg'});  
4

0 回答 0