Вы используете класс ^ = "
Если вы посмотрите на документацию, вы увидите, будет ли это атрибут начинается с селектора [name^=”value”]
Это означает, что атрибут должен be
class="value-abc"
Так что это не соответствует вашему случаю, потому что строка не в самом начале. Вам нужно будет использовать Attribute Contains Selector [name*=”value”]
. Другая проблема: ближайший будет захватывать div div и div, который вы ищете, по-прежнему является великим родителем этого div.
$(function() {
$(document).on('click','.addfile', function() {
var elm = $(this).closest('[class*="file-plugin-"]');
console.log(elm.attr("class"));
console.log(elm.attr("class").match(/file-plugin-\d+/)[0])
// how I would do it
var elem = $(this).closest('[data-index]');
console.log(elem.data("index"))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrap1">
<div class="other class file-plugin-1" data-index="1">
<div class="wrap2">
<div class="input-group-append">
<button type="button" class="remfile">Remove</button>
<button type="button" class="addfile">Add</button>
</div>
</div>
</div>
</div>
Добавьте каталог файлов в файл GUI.spec
, следуя инструкциям здесь
Затем удалите все папки, созданные pyinstaller, , КРОМЕ GUI.spec
pyinstaller GUI.spec
(обратите внимание: на этот раз .spec
, а не .py
)